Ich habe ein 50-seitiges Word-Dokument mit einem ActiveX-Kontrollkästchen auf jeder Seite. Ich möchte nicht, dass diese angezeigt werden, wenn ich das Dokument in irgendeiner Form drucke, dh auf einem Drucker oder PDF.
Ich habe herumgegoogelt und zwei Beispiele gefunden;
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
Dies verbirgt jedoch nur das erste Kontrollkästchen, nicht alle, und;
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
Was bei mir einfach nicht zu funktionieren scheint (diverse Fehler).
microsoft-word
printing
activex
Jonny Wright
quelle
quelle
ffld
basierend.Antworten:
Also endlich was gefunden was funktioniert - nicht die eleganteste Lösung aber es funktioniert.
Verknüpfung
Erstellen Sie einen neuen Textstil (in diesem Beispiel heißt er "Versteckt") und verwenden Sie diesen Textstil für alle Elemente, die Sie ausblenden möchten. Dann benutze diesen Code;
quelle