Hallo,
mit dem vorliegenden VBA-Code werden die Formularfelder gelöscht und nicht nur ausgeblendet.
Wenn die angegebenen Formular-Felder tatsächlich nur ausgeblendet werden sollen, kann auch folgender VBA-Code eingesetzt werden:
Sub Test()
Dim aufvm As String
Dim wert As Integer
Dim rng As Range
With ActiveDocument
aufvm = .FormFields("AUFVMABETRAG").Result
If aufvm <> "" And Not aufvm = "0,00" Then
With .FormFields("AUFVMABETRAGT")
.Result = "hier kommt Text rein"
.Range.Font.Hidden = False
End With
wert = 1
Else
.FormFields("AUFVMABETRAG").Range.Font.Hidden = True
.FormFields("AUFVMABETRAGT").Range.Font.Hidden = True
'.FormFields("AUFVMABETRAG").Delete
'.FormFields("AUFVMABETRAGT").Delete
End If
End With
End Sub
Kurze Erläuterungen:
Um ein Formularfeld existiert ein Range-Objekt. Jedes Range-Objekt besitzt eine Font-Eigenschaft, in dem u.a. eine weitere Eigenschaft "hidden" die Sichtbarkeit steuert.
Mit ".Range.Font.Hidden = False" kann ein Formularfeld wieder sichtbar gemacht werden.
Beim Ausdruck muss darauf geachtet werden, dass unsichtbarer Text nicht mit ausgedruckt wird.
Ebenso muss beachtet werden, dass Word bei Bedarf auch unsichtbaren Text dennoch am Monitor anzeigt. Unsichtbarer Text wird mit einer punkierten Linie unterstrichen am Monitor angezeigt.
LG, BigBen
|