none
TabStops per VBA-Makro in Outlook 2010 setzen RRS feed

  • Frage

  • Hallo Zusammen,

    zur Zeit programmiere ich ein Makro, mit welchem eine eMail versandt wird, die aus vorher ausgelesenen Excel-Daten befüllt wird.

    Nun würd ich die eMail gern so formatieren, dass ich zwischen den einzelnen Werten immer den gleichen Abstand habe, also in dem Makro die Position der TabStops definieren.

    Wie funktioniert das ?

    Vielen Dank

    Freitag, 15. Januar 2016 15:15

Alle Antworten

  • Wenn Du das MailItem-Objekt der Mail hast, dann kannst Du via GetInspector.WordEditor Dir eine Referenz auf ein Word.Document holen welches dem Body der Mail entspricht. Dann kannst Du wie in Word agieren.

    Klingt das Chinesisch?

    Öffne Outlook
    erstelle eine neue eMail
    öffne den VBA Editor
    füge ein normales Modul hinzu
    setze unter Extras\Verweise eine Referenz zu "Microsoft Word 14.0 Object Library"
    kopiere das Makro in den VBA editor
    lass es laufen

    Andreas.

    Sub Test()
      Dim MItem As MailItem
      Dim wDoc As Word.Document
      Set MItem = ActiveInspector.CurrentItem
      Set wDoc = MItem.GetInspector.WordEditor
      With wDoc
        With .Content.ParagraphFormat.TabStops
          .ClearAll
          .Add CentimetersToPoints(10), wdAlignTabCenter
          .Add CentimetersToPoints(20), wdAlignTabRight
        End With
        With .Parent
          .Selection.TypeText Text:="1" & vbTab & "2" & vbTab & "3" & vbNewLine
          .Selection.TypeText Text:="aaa" & vbTab & "bbb" & vbTab & "ccc"
        End With
      End With
    End Sub


    Samstag, 16. Januar 2016 13:38
  • Hi,
    anstelle Selection sollte besser Range genutzt werden, da Selection mit der grafischen Oberfläche kommuniziert und Bedienerhandlungen können den Ablauf stören.

    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Kommas richtig setzen!
    Schüler sagen, Lehrer haben es gut.
    Schüler, sagen Lehrer, haben es gut

    Sonntag, 17. Januar 2016 23:39
  • Vielen Dank euch beiden!
    Dienstag, 19. Januar 2016 14:28