2015-10-08 2 views
0

Я работаю над созданием страницы спецификации контракта в Word 2013 с помощью флажков, чтобы мой босс мог щелкнуть каждую коробку, которую он хочет включить в окончательный печатный контракт, и скрыть те, нужно. Я совершенно новичок в VBA, но я знаю, что мне нужно использовать его для достижения этого. Из поиска в Интернете я использовал закладки и код ниже:Как скрыть отмеченные флажки при печати

Private Sub CheckBox1_Click() 
If CheckBox1.Value = False Then 
ActiveDocument.Bookmarks("Work1").Range.Font.Hidden = True 
Else 
ActiveDocument.Bookmarks("Work1").Range.Font.Hidden = False 
End If 
End Sub 

Но этот код кажется скрыть флажки, прежде чем я могу нажимать на них. Я бы хотел, чтобы флажки оставались видимыми до тех пор, пока они не напечатают, если мой босс должен внести изменения. Я также попытался использовать другой код, но он также не работает так, как я хотел, чтобы она:

Private Sub CheckBox1_Click() 
    If CheckBox1.Value = False Then 
    ActiveDocument.Bookmarks("Work1").Application.Options.PrintHiddenText = False 
Else 
    ActiveDocument.Bookmarks("Work1").Application.Options.PrintHiddenText = True 
End If 
End Sub 

Я также хотел бы сделать это так, нет никаких промежутков, где был бы неиспользованные флажки. Любая помощь будет принята с благодарностью!

ответ

0

Кажется, я вчера слишком усложнил проблему. Ваша единственная проблема заключалась в том, что ваши флажки становятся невидимыми вместе с текстом. Вам просто нужно добавить текст, который вы хотите скрыть/показать, оставляя флажок (воспринимаемый Word как часть текста) за пределами закладки.

Ваш код будет делать это штраф, или вы можете заменить его следующим образом:

Private Sub CheckBox1_Click() 
Bookmarks("Work1").Range.Font.Hidden = Not CheckBox1 
End Sub 

Кстати, если вы сделаете Word, показать знак абзаца (Ctrl + *), вы будете в состоянии видеть скрытый текст.

+0

Будет ли флажок скрываться при печати или отправке документа по электронной почте? Кроме того, флажок не включен в закладку. Я создал закладки, прежде чем устанавливать флажки. – JordynP

+0

@JordynP, неважно, что вы создали вначале, закладки или флажок. Скорее всего, вы добавили свой флажок в закладку после создания закладки. Попробуйте удалить закладку, затем выберите текст, который вы хотите скрыть, и добавьте закладку с тем же именем. –

+0

Предполагаю, что вы используете флажки ActiveX. Они будут напечатаны, если вы не распечатаете документ с помощью кода, который вы можете найти в ответе. http://superuser.com/questions/898762/dont-print-activex-checkbox И, безусловно, они будут сохранены при отправке файла по электронной почте, если вы не используете какой-либо другой код, удаляющий их. –

0

Я хотел бы предложить свои макросы:

а) сохранить текущий документ (во временной папке, если вы хотите)

б) удалить все установите флажки

с) распечатать документ

d) закрыть документ

e) открыть файл, сохраненный в пункте a).

Необходимо взять дюжину строк кода или так далее.

+0

Спасибо за ваш ответ! У вас есть пример того, как я буду это делать? Я новичок. Кроме того, я не уверен, что мой босс хотел бы, чтобы это кодирование, потому что ему часто приходится возвращаться и редактировать страницу спецификаций до того, как клиент согласен с контрактом. – JordynP

Смежные вопросы