Não imprima caixa de seleção ActiveX

1

Eu tenho um documento do Word de 50 páginas com uma caixa de seleção ActiveX em cada página. Eu não quero que estes sejam exibidos quando eu imprimir o documento em qualquer forma, ou seja, para uma impressora ou PDF.

Eu pesquisei e encontrei dois exemplos;

Sub ChangeHidden2()
Dim doc As Word.Document
Dim rngSearch As Word.Range
Dim ffld As Word.FormField

Set doc = ActiveDocument
Set ffld = doc.FormFields("check1")
Set rngSearch = ffld.Range.Paragraphs(1).Range
rngSearch.Start = ffld.Range.End
rngSearch.Text = "Good"
End Sub

Mas isso apenas oculta a primeira caixa de seleção, não todas elas e;

Sub HideFormsChBx()
Dim doc As Word.Document
Dim cBx As Word.FormField
Dim cntrl As Word.CheckBox

Set doc = ActiveDocument
Set cBx = doc.FormFields("Check1")
Set cntrl = doc.FormFields("Check2").CheckBox
If doc.ProtectionType <> wdNoProtection Then _
doc.Unprotect
cBx.Range.Font.Hidden = cntrl.Value
doc.Protect wdAllowOnlyFormFields, True
End Sub

O que parece não funcionar para mim (vários erros).

    
por Jonny Wright 07.04.2015 / 17:05

1 resposta

2

Então, finalmente encontramos algo que funciona - não a solução mais elegante, mas funciona.

Link

Crie um novo estilo de texto (neste exemplo, ele é chamado de "Oculto") e use este estilo de texto para todos os itens que você deseja ocultar. Então use este código;

Private Sub CommandButton1_Click()
With ActiveWindow.View
.ShowHiddenText = False
.ShowAll = False
End With
Options.PrintHiddenText = False
With ActiveDocument
.Styles("Hidden").Font.Hidden = True
.PrintOut Copies:=1
.Styles("Hidden").Font.Hidden = False
End With
End Sub
    
por 07.04.2015 / 17:42