ActiveX-Kontrollkästchen nicht drucken

1

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).

Jonny Wright
quelle
Der zweite Bode-Block, wenn er Fehler enthält, ist ein separates Problem. Das erste funktioniert nur für die erste Seite, da es stattdessen nur einmal für jede Seite ausgeführt wird, und ich nehme an, dass Sie nicht mehrere Felder desselben Felds haben. Schreiben Sie eine Funktion, die festlegt, wie viele Seiten Sie im Dokument haben, und ändern Sie den Wert darauf ffldbasierend.
Ramhound

Antworten:

2

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;

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
Jonny Wright
quelle