Schriftart über VBA ändern

Hallo zusammen,

wie kann ich über eine VBA die Formatierung eines Textfeldes ändern?
Ich habe eine bedingung. Wenn die wahr ist, soll das Textfeld durchgestrichensein und wenn möglich auch graviert dargestellt werden. Ich habe leider nur den befehl für bunt und fett machen gefunden. Da das im bericht dann aber nicht genug auffällt, wäre es toll, wenn mir jemand sagen könnte, wie die entsprechenden Befehle dafür heißen. Hier noch mein derzeitiger VBA- Code:

Private Sub Report_Open(Cancel As Integer)
Dim db As Database
Dim rs As Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset(„TmpDruck“, dbOpenDynaset)

If rs![Anlieferung Mo] = True Then
Bezeichnungsfeld38.FontBold = True
Else
Bezeichnungsfeld38.ForeColor = 0 'freundliches Schwarz wirkt immer belebend
End If
End Sub

Für eure Hilfe wäre ich sehr dankbar.

Viele Grüße von Beate

Hallo Beate,

wie kann ich über eine VBA die Formatierung eines Textfeldes
ändern?

z.B. in dem du folgende Parameter verwendest:
Bezeichnungsfeld.FontBold = True
Bezeichnungsfeld.FontName = „arial“
Bezeichnungsfeld.FontSize = 24
Bezeichnungsfeld.FontItalic = True
Bezeichnungsfeld.FontUnderline = True
Bezeichnungsfeld.FontWeight = 900

Bezeichnungsfeld.BorderColor = 0
Bezeichnungsfeld.BorderStyle = x
Bezeichnungsfeld.BorderWidth = 10
Bezeichnungsfeld.SpecialEffect = 1
Bezeichnungsfeld.BackStyle = 1

Ich habe eine bedingung. Wenn die wahr ist, soll das Textfeld
durchgestrichensein

durchgestrichen gibt es nicht :frowning:
Lege einfach ein Bezeichnungsfeld mit einem Strich als Inhalt darüber.
Dieses kannst du dann ein- oder ausblenden mit:

Bezeichnungsfeld_Strich.visible = true

und wenn möglich auch graviert dargestellt

Bezeichnungsfeld.SpecialEffect = 3

werden. Ich habe leider nur den befehl für bunt und fett
machen gefunden. Da das im bericht dann aber nicht genug
auffällt, wäre es toll, wenn mir jemand sagen könnte, wie die
entsprechenden Befehle dafür heißen.

siehe oben :smile:

Hier noch mein derzeitiger VBA- Code:

Private Sub Report_Open(Cancel As Integer)

>>>>>>>>>>>>>>>>>>>>>>>>> das kannst du dir sparen

Dim db As Database
Dim rs As Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset(„TmpDruck“, dbOpenDynaset)

>>>>>>>>

End If
End Sub

Es würde über bleiben:

Private Sub Report_Open(Cancel As Integer)
If ME.[Anlieferung Mo] then Me.Bezeichnungsfeld38.FontBold = True
End Sub

mit durchgestrichen dann z.B.

Private Sub Report_Open(Cancel As Integer)
If ME.[Anlieferung Mo] then
Me.Bezeichnungsfeld38.FontBold = True
Me.Bezeichnungsfeld_STRICH.visible = True
endif
End Sub

Liebe Beate, mach dir das Leben nicht so schwer, es geht auch einfacher :smile:

Tip am Rande: klicke mit der Maus auf die Eigenschaft: z.B. FontBold
Drücke dann die [F1] Taste
Du erhältst dann zur Eigenschaft die Hilfe, und unter „Siehe auch“ findest du dann weitere Möglichkeiten.

Grüße aus Essen
Wolfgang

Hallo Wolfgang,

vielen Dank. prinzipiell klappt es. Nur dass leider die Gravur mir immer noch nicht so gefällt und ich die Schrift jetzt gern grau hätte. Welchen Ausdruck hat die Farbe Grau?

Liebe Beate, mach dir das Leben nicht so schwer, es geht auch
einfacher :smile:

Hab ich versucht, aber wenn ich Me! genommen hab, kam immer ein Laufzeitfehler. Mit dem rs! bleibt dieser weg. So ein großer Unterschied ist das ja auch nicht.
Trotzdem vielen Dank für deine Tipps. Bis demnächst :wink:

Grüße von Beate

Hallo Beate,

vielen Dank. prinzipiell klappt es. Nur dass leider die Gravur
mir immer noch nicht so gefällt und ich die Schrift jetzt gern
grau hätte. Welchen Ausdruck hat die Farbe Grau?

  • klicke ein Feld mit der rechten Maustaste an
  • wähle Eigenschaften
  • klicke die drei Punkte in der Zeile: Hintergrundfarbe an
  • wähle eine Farbe
  • nun lese die Zahlenkombination für die Farbe

eine von den vielen Grautönen wäre: 12632256

Hab ich versucht, aber wenn ich Me! genommen hab, kam immer
ein Laufzeitfehler.

lese doch bitte was ich geschrieben haben: ME(.) NICHT ME(!)
(häufig sind es die Kleiningkeiten …)

Grüße aus Essen
Wolfgang

Hallo wolfgang,

vielen Dank für deine Hilfe. Ich konnte jetzt alles so formatieren, wie’s richtig gut aussieht.

lese doch bitte was ich geschrieben haben: ME(.) NICHT ME(!)
(häufig sind es die Kleiningkeiten …)

Ja, manchmal sind das Kleinigkeiten, die man übersieht, aber ich habe gestern und auch heut noch mal das mit ME(.) probiert und es kommt trotzdem der Laufzeitfehler. Ist aber nicht so schlimm. Das nächste mal nutzt mir der Tipp bestimmt.

Viele Grüße von Beate