Registriert seit: 07.10.2024
Version(en): Microsoft Office Professional 2019 (Version 2402 Build 16.0.17328.20124) 32 Bit
Hallo,
ich möchte in Outlook 2019 ein Makro ausführen, um die Zeilenabstandsoptionen zu definieren, also
>Zeilen- und Absatzabstand
>Abstand nach: 6 Pt
>
OKund hoffe, dass mir jemand helfen kann
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2019
Registriert seit: 22.09.2024
Version(en): 2010, 2021
Hallo Günther,
wenn Word als Edior verwendet wird, und das sieht hier so aus, dann kannst du auf das Word-Objektmodell zurückgreifen und dort den Abstand einstellen:
https://learn.microsoft.com/de-de/office...pacingruleKnobbi38
Registriert seit: 07.10.2024
Version(en): Microsoft Office Professional 2019 (Version 2402 Build 16.0.17328.20124) 32 Bit
Hallo Knombi38,
ich habe versucht, das Makro in Word aufzuzeichnen, abgemagert und in Outlook eingefügt:
Code:
Sub Zeilenabstand_6Pt()
With Selection.ParagraphFormat
.SpaceAfter = 6
End With
End Sub
aber leider funktioniert es nicht, Debuggerfehler
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2019
Registriert seit: 22.09.2024
Version(en): 2010, 2021
16.07.2025, 12:49
(Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2025, 12:49 von knobbi38.)
Hallo Günther,
Zitat:... aber leider funktioniert es nicht, Debuggerfehler
so eine Fehlerbeschreibung ist nicht hilfreich und der Code alleine ist nicht aussagekräftig, damit kann Outlook nichts anfangen.
Um an den Word-Editor zu gelangen mußt, du auf die
Eigenschaft WordEditor des Inspector-Objekts zugreifen, erst dann kannst du damit auf das Word-Objektmodell zugreifen, z.B. den Zeilenabstand im aktuellen Paragraph einzustellen:
https://learn.microsoft.com/de-de/office...inespacingAlternativ könntest du evtl. auch eine entsprechende Formatvorlage verwenden.
Wie man prinzipiell ein Word-Makro in Outlook nutzen kann, ist hier beschrieben:
https://www.vboffice.net/de/developers/w...ook-nutzenGruß Knobbi38
Folgende(r) 1 Nutzer sagt Danke an knobbi38 für diesen Beitrag:1 Nutzer sagt Danke an knobbi38 für diesen Beitrag 28
• Karthagos
Registriert seit: 07.10.2024
Version(en): Microsoft Office Professional 2019 (Version 2402 Build 16.0.17328.20124) 32 Bit
Hallo Knobbi38,
wenn ich das richtig verstehe, muss ich dann das Makro in Word belassen, obwohl ich es da gar nicht brauche.
Werde es trotzdem mal probieren.
Lieber wäre mir allerdings eine Lösung direkt im Outlook VBA.
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2019
Registriert seit: 12.07.2025
Version(en): 2021
(17.07.2025, 15:20)Karthagos schrieb: wenn ich das richtig verstehe, muss ich dann das Makro in Word belassen, obwohl ich es da gar nicht brauche.
Nein, das geht selbstverständlich auch direkt in Outlook.
Mach ein neue Mail oder antworte auf eine bestehende, wenn Du was schreiben kannst dann wird der Word-Editor in Outlook aktiv.
Und dann läßt Du das Makro unten einfach mal laufen.
Andreas.
Code:
Sub Test()
Dim wdDoc As Object 'Word.Document
With ActiveInspector
If Not .IsWordMail Then
MsgBox "Das geht nur wenn die eMail in HTML verfasst wird."
Exit Sub
End If
Set wdDoc = .WordEditor
wdDoc.Paragraphs.SpaceAfter = 6
End With
End Sub
Registriert seit: 07.10.2024
Version(en): Microsoft Office Professional 2019 (Version 2402 Build 16.0.17328.20124) 32 Bit
Hallo Andreas,
vielen Dank, so ist das schon prima. Wie kann ich noch einstellen, dass der Zeilenabstand nicht für das gesamte Dokument, sondern nur für den jeweiligen Absatz gilt.
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2019
Registriert seit: 12.07.2025
Version(en): 2021
Hallo Günther,
Nicht erschrecken oder missverstehen, wenn Du eine Mail schreibst, dann steckt quasi das ganze Word in der Mail drin.
Also dazu brauchst Du das Selection-Object, das gibt es nur in Word selber.
Der ActiveInspector in Outlook gibt Dir das aktuelle Outlookelement, das ist in diesem Fall die Mail.
Von dem kommst Du über .WordEditor an das Document (so wie es das Document in Word ist).
Das Document hat eine .Parent Eigenschaft, die liefert Dir Zugriff auf Word selber (die Application).
Und in der steckt das Selection Object und mit dem funktioniert der Code so wie Du ihn in Word aufgezeichnet hast.
Alles klar?
Andreas.
Code:
Sub Test()
Dim wdApp As Object 'Word.Application
Dim wdDoc As Object 'Word.Document
With ActiveInspector
If Not .IsWordMail Then
MsgBox "Das geht nur wenn die eMail in HTML verfasst wird."
Exit Sub
End If
Set wdDoc = .WordEditor
Set wdApp = wdDoc.Parent
wdApp.Selection.ParagraphFormat.SpaceAfter = 6
End With
End Sub
Registriert seit: 07.10.2024
Version(en): Microsoft Office Professional 2019 (Version 2402 Build 16.0.17328.20124) 32 Bit
Hallo Andreas,
vielen Dank für Deine nochmaligen Erklärungen und das geänderte Makro. Jetzt ist es für mich wirklich perfekt.
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2019