Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excelinhalt nach Outlook Besprechungsanfrage

Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 09:26:23
Heidi
Hallo zusammen,
gibt es die Möglichkeit einen Excelbereich (Inhalt) nach Outlook als Besprechungsanfrage zu erstellen?
Danke und Gruß
Heidi

44
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 09:37:45
Heidi
Hallo,
ich habe gegoogelt, mache ich immer. Aber dein Link/Makro funktioniert leider nicht.
Ich möchte nicht aus Teamordner usw. versenden.
Ich habe eine Exceltabelle mit Inhalt und diese möchte ich gerne als Besprechungsanfrage in Outlook versenden können.
Er soll einfach den Inhalt aus Excel in eine Besprechungsanfrage schreiben.
Ich habe diesbezüglich leider noch nix gefunden.
Vielleicht gibt es doch noch eine Idee. Wäre toll.
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 10:35:29
Heidi
Hallo nochmal,
gibt es denn überhaupt die Möglichkeit einen Excel Tabelleninhalt per Makro (VBA) in eine Besprechungsanfrage in Outlook zu senden/schreiben?
Konnte bisher leider noch nichts finden.
Vielen lieben Dank und Gruß
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 12:06:29
Martin
Hallo Heidi,
leider habe ich kein Outlook und kann dir daher auch nicht weiterhelfen. Trotzdem will ich dir meine Herangehensweise erläutern, die ich an deiner Stelle versuchen würde.
1. Die einfache und zuverlässige Variante:
Zeichne unter Outlook per Makro die manuelle Eintragung einer Besprechungsanfrage auf. Siehe dann in den VBA-Editor ob etwas und was aufgezeichnet wurde. Wenn es funktioniert hat, kannst du ebenso über die Objektbibliothek via Excel eine Besprechungsanfrage in Outlook schreiben.
2. Die anspruchsvolle und zuverlässige Variante:
Sollte Variante 1 nicht funktionieren, gibt es noch einen komplizierten Lösungsansatz. Lade dir das kostenlose Programm "WinSpy" herunter und prüfe, ob du alle zur Eintragung der Besprechungsanfrage notwendigen Controls via Windows-ID erreichen kannst. Sollte das der Fall sein, kannst du per API eine Besprechungsanfrage in Outlook eintragen.
3. Die einfache, aber unzuverlässige Variante:
Die dritte Möglichkeit verabscheue ich eigentlich, weil sie sehr unzuverlässig ist. Du kannst mit SendKeys auch Tastaturbefehle senden. Wenn du per VBA Outlook fokussierst und mit Tastenkombinationen bis zur Besprechungsanfrage gelangst, wäre das evtl. auch eine Möglichkeit. Das Problem ist aber, dass du kaum eine Chance hast Fehler abzufangen.
Variante zwei wirst du bei "VBA bescheiden" wahrscheinlich nicht ohne fremde Hilfe hinbekommen.
Viele Grüße
Martin
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 12:10:31
Heidi
Hallo Martin,
vielen Dank für deine Hilfe, aber wie du schon sagst, ich kriege das mit dem VBA nicht alleine hin, darin bin ich nicht besonders gut.
Wir haben schon einige in Excel erstellt, aber da soll ein eine normale Email öffnen. Jetzt brauche ich das gleiche, aber nur als Besprechungsanfrage.
Habe schon viel gegoogelt, aber nichts gefunden, leider.
Trotzdem vielen lieben Dank und Gruß
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 12:39:20
Martin
Hallo Heidi,
na zeichne doch mit Outlook das Makro mal auf und poste den Code hier. Vielleicht hilft uns das ja schon weiter. So unwahrscheinlich es auch ist, dass wir in derselben Stadt leben, aber wo sitzt ihr denn? (Das Bundesland reicht ja zunächst aus.)
Viele Grüße
Martin
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 12:42:39
Heidi
Hallo Martin,
es gibt ja Codes wo man einen Tabelleninhalt als Mail versenden kann.
Das funktioniert super. Jetzt würde ich das gleiche gerne machen, aber nicht mit einer Email sondern als Besprechungseinladung. Hier muss es doch auch einen Code geben.
Die Aufzeichnung in Outlook nützt hier ja nix, ich starte ja aus Excel heraus.
Danke trotzdem für deine Hilfe und viele Grüße
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 12:59:50
Martin
Hallo Heidi,
hier muss ich dich korrigieren: VBA gibt es in der ganzen Office-Familie und man kann von Excel aus Makros direkt in Outlook ausführen.
Mit...

Set MyOutApp = CreateObject("Outlook.Application")
...kann von Excel aus eine direkte Verbindung zu Outlook hergestellt werden. Daher ist deine Annahme, dass in Outlook aufgezeichnete Makros "nix nützen" völlig falsch.
Viele Grüße
Martin
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 13:02:15
Heidi
Hallo Martin,
guck mal diesen Code an. Er sieht schon ganz gut aus. Er öffnet aus Excel eine Besprechungseinladung, aber was mir jetzt noch fehlt ist, dass er mir einen bestimmten Inhalt aus der Tabelle z. B. A1:I62 im Body übernimmt.
Option Explicit
Public Sub Mail_Outlook_With_Signature_Html_9()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(1)
With OutMail
.Display
.Subject = "Jahr_Monat_Tag_Kick-off_8Dxx-x - Kennwort/ Land - LIPROGIS XXXX Circuit -  _
Einladung"
.Body = "Guten Tag,
" & _ "ich möchte Sie zum Eng. Handshake zu folgendem Projekt einladen." & _ RangeToHtml("Einladung_Kick-Off", "A1:I62") & .Body End With Set OutMail = Nothing Set OutApp = Nothing End Sub

Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 13:48:58
Heidi
Hallo nochmal,
also er übernimmt mir nicht den bestimmten Tabellenbereich A1:I62 - das habe ich leider noch nicht geschafft.
Vielleicht kann mir hier noch jemand helfen, wäre toll.
Dankeschön
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 13:52:00
Martin
Hallo Heidi,
wie bereits geschrieben, kann ich leider nichts testen, weil ich kein Outlook habe. Versuche mal bitte folgenden Code: https://www.herber.de/bbs/user/130807.txt
Aufgrund der HTML-Tags konnte ich den Code nicht frei hier schreiben und habe alles in eine Textdatei geschrieben.
Viele Grüße
Martin
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 13:58:09
Heidi
Hallo Martin,
leider hat der Code nicht funktioniert - er nimmt mir einfach den festen Bereich nicht … er schreibt hier dann einfach wilde codes rein …
Jetzt weiß ich auch nicht mehr weiter.
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 14:09:12
peterk
Hallo Heidi
Gib den vollen Namen Deines Ranges ein. Statt Range("A1:I62") besser Worksheets("WieAuchImmer").Range("A1:I62")
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 14:15:02
Heidi
Hallo Peter,
der Code lautet so:
With OutMail
.Display
.Subject = "Jahr_Monat_Tag_Kick-off_8Dxx-x - Kennwort/ Land - LIPROGIS XXXX Circuit - Einladung"
.Body = "Guten Tag, mein Name ist Heidi Martin und ich weiß nix mehr!
" & _
"ich möchte Sie zum Eng. Handshake zu folgendem Projekt einladen." & _
RangeToHtml("Einladung_Kick-Off", "A1:I62") & .Body
End With
aber der klappt leider nicht. Irgendwas mache ich falsch.
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 14:21:47
peterk
Hallo Heidi
Verwende den Code von Martin.
(".Body" ist sicherlich falsch, da Du ja Html verwenden möchtest, alse ".HTMLBody")
In welchem TabellenBlatt steht Dein gewünschter Range?
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 14:24:34
Heidi
Hallo Peter,
dies hier ist der komplette Code, habe bei Body auch HTMLBody geändert, aber geht leider nicht.
Option Explicit
Public Sub Mail_Outlook_With_Signature_Html_9()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(1)
With OutMail
.Display
.Subject = "Jahr_Monat_Tag_Kick-off_8Dxx-x - Kennwort/ Land - LIPROGIS XXXX Circuit -  _
Einladung"
.HTMLBody = "Guten Tag, mein Name ist Heidi Martin und ich weiß nix mehr!
" & _ "ich möchte Sie zum Eng. Handshake zu folgendem Projekt einladen." & _ RangeToHtml("Einladung_Kick-Off", "A1:I62") & .HTMLBody End With Set OutMail = Nothing Set OutApp = Nothing End Sub

Private Function RangeToHtml( _
ByVal pvstrWorksheetName As String, _
ByVal pvstrRangeAddress As String) As String
Dim objFilesytem As Object, objTextstream As Object
Dim objPublishObject As PublishObject
Dim strFilename As String, strTempText As String
strFilename = Environ$("temp") & "\" & _
Format(Now, "dd-mm-yy_hh-mm-ss") & ".htm"
Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=pvstrWorksheetName, _
Source:=pvstrRangeAddress, _
HtmlType:=xlHtmlStatic)
Call objPublishObject.Publish(Create:=True)
Set objFilesytem = CreateObject("Scripting.FileSystemObject")
Set objTextstream = objFilesytem.GetFile(strFilename).OpenAsTextStream(1, -2)
strTempText = objTextstream.ReadAll
Call objTextstream.Close
RangeToHtml = Replace(strTempText, "align=center x:publishsource=", _
"align=left x:publishsource=")
Set objPublishObject = Nothing
Set objTextstream = Nothing
Set objFilesytem = Nothing
Call Kill(PathName:=strFilename)
End Function

Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 14:35:59
peterk
Hallo Heidi
Dein Range "A1:I62" ist im Tabellenblatt mit dem Namen "Einladung_Kick-Off". Stimmt das?
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 06:26:51
Heidi
Guten Morgen Peter,
ja das stimmt.
Meine Kenntnisse in VBA sind nicht besonders gut, entschuldige.
Danke und Gruß
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 07:48:28
Heidi
Guten Morgen Peter,
ich habe dir mal einen Bildausschnitt vom Ergebnis der Besprechungseinladung beigefügt.
Userbild
Er macht zumindest eine Besprechungseinladung aber der Inhalt ist nur wirres Zeugs, aber nicht der Tabelleninhalt. Leider weiß ich auch nicht, wie man feste Teilnehmer hinterlegen kann?!
Danke und Gruß
Heidi
Anzeige
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 09:46:09
peterk
Hallo Heidi
Ich war leider auch am Holzweg :-(
Eine Besprechungseinladung hat komplett ander Eigenschaften als eine Email, d.h. HTMLBody existiert in diesem Objekt gar nicht und somit ist der Ansatz über "RangeToHtml" nicht durchführbar. Ich bin noch am recherchieren und werde mich wieder melden.
P.S. Eine Einladung benötigt:
- Teilnehmer (sind die auch aus der Tabelle auszulesen?)
- Start Termin (sind die auch aus der Tabelle auszulesen?)
- Ende Termin (sind die auch aus der Tabelle auszulesen?)
- Ort (sind die auch aus der Tabelle auszulesen?)
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 09:49:24
Heidi
Hallo Peter,
also Teilnehmer habe ich jetzt in den Code gebracht, hoffe das passt auch so.
Aber den Inhalt aus der Tabelle (Bereich A1:I60) übernimmt er einfach nicht.
Hier der Code nochmal mit den Teilnehmer:
Option Explicit
Public Sub Mail_Outlook_With_Signature_Html_9()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(1)
With OutMail
.Display
.Location = "wird noch bekannt gegeben"
.Subject = "Jahr_Monat_Tag_Kick-off_8Dxx-x - Kennwort/ Land - LIPROGIS XXXX Circuit -  _
Einladung"
.Body = "Guten Tag, mein Name ist Hase ich weiß Bescheid!
" & _ "ich möchte Sie zum Eng. Handshake zu folgendem Projekt einladen." & _ RangeToHtml("Einladung_Kick-Off", "A1:I62") & .Body .Recipients.Add("max.mustermann@xxx.xxx").Type = 1 .Recipients.Add("max.mustermann@xxx.xxx").Type = 2 .Recipients.Add("max.mustermann@xxx.xxx").Type = 3 .Display End With Set OutMail = Nothing Set OutApp = Nothing End Sub

AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 09:49:47
Heidi
Danke schon Mal. Hilft mir sehr.
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 10:57:25
Martin
Hallo Peter,
ich finde es interessant, dass wir beide den selben Denkfehler hatten. Auch ich war davon ausgegangen, dass der Aufbau wie bei einer Email als HTML-Table übergeben werden muss.
Auf Grundlage des (langersehnten) Screenshots stellt sich mir die Frage, ob statt einer HTML-Struktur eine XML-Struktur zur Darstellung der Tabelle übertragen werden muss. Jedoch bräuchte man dafür sicherlich einen passenden Übergabe-Parameter wie "XMLBody". Leider kenne ich mich damit überhaupt nicht aus und habe auch keine Möglichkeit zum Testen. Vielleicht kommst du beim Blick in den Objektkatalog weiter?!
Viele Grüße
Martin
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 12:25:21
peterk
Hallo Heidi
Ich hab einen Weg gefunden :-)
Da ich nicht direkt HTML in eine Einladung eifügen kann, habe ich den Umweg über Email genommen, d.h. ich erzeuge zuerst eine hübsche Email und kopiere diese dann in die Einladung.
Modul Modul1
Option Explicit 
 
' Einige Konstanten 
Const olMailItem = 0 
Const olAppointmentItem = 1 
Const olFormatHTML = 2 
Const olDiscard = 1 
 
Private Sub CreateAppointment() 
    Dim objOutLook As Object 
    Dim objMail As Object 
    Dim objApp As Object 
 
    Dim objMailInspector As Object 
    Dim objAppInspector As Object 
 
    Dim freeText As String 
 
    On Error Resume Next 
    Set objOutLook = GetObject(, "Outlook.Application") 
    If objOutLook Is Nothing Then 
        Set objOutLook = CreateObject("Outlook.Application") 
    End If 
    On Error GoTo 0 
 
    If Not objOutLook Is Nothing Then 
     
        freeText = "Guten Tag, mein Name ist Hase ich weiß Bescheid!" & vbCrLf  ' anpassen!! 
   
        Set objMail = objOutLook.CreateItem(olMailItem) 
 
        With objMail 
            .BodyFormat = olFormatHTML 
             
            .HtmlBody = freeText & RangeToHtml("Beispiel", "B3:I15") ' anpassen!! 
             
            Set objMailInspector = .GetInspector 
        End With 
 
        Set objApp = objOutLook.CreateItem(olAppointmentItem) 
        With objApp 
            .Location = "wird noch bekannt gegeben" 
            .Subject = "Jahr_Monat_Tag_Kick-off_8D" 
             
            .Recipients.Add("max.mustermann@xxx.xxx").Type = 1 
             
            Set objAppInspector = .GetInspector 
            objAppInspector.Wordeditor.Range.FormattedText = objMailInspector.Wordeditor.Range.FormattedText 
             
            .Display 
        End With 
        objMail.Close (olDiscard) 
    Else 
        MsgBox "Auf diesem PC/Notebook ist kein Outlook installiert!", _
               vbMsgBoxSetForeground + 16, "zur Information..." 
 
    End If 
 
    Set objOutLook = Nothing 
    Set objMail = Nothing 
    Set objAppInspector = Nothing 
    Set objMailInspector = Nothing 
     
End Sub 
 
Private Function RangeToHtml(ByVal pvstrWorksheetName As String, _
                             ByVal pvstrRangeAddress As String) As String 
 
    Dim objFilesytem As Object 
    Dim objTextstream As Object 
    Dim objPublishObject As PublishObject 
     
    Dim strFilename As String 
    Dim strTempText As String 
 
    strFilename = Environ$("temp") & "\" & _
                  Format(Now, "dd-mm-yy_hh-mm-ss") & ".htm" 
 
    Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
                           SourceType:=xlSourceRange, _
                           Filename:=strFilename, _
                           Sheet:=pvstrWorksheetName, _
                           Source:=pvstrRangeAddress, _
                           HtmlType:=xlHtmlStatic) 
                            
    Call objPublishObject.Publish(Create:=True) 
 
    Set objFilesytem = CreateObject("Scripting.FileSystemObject") 
    Set objTextstream = objFilesytem.GetFile(strFilename).OpenAsTextStream(1, -2) 
 
    strTempText = objTextstream.ReadAll 
    Call objTextstream.Close 
 
    RangeToHtml = Replace(strTempText, "align=center x:publishsource=", _
                          "align=left x:publishsource=") 
 
    Set objPublishObject = Nothing 
    Set objTextstream = Nothing 
    Set objFilesytem = Nothing 
 
    Call Kill(PathName:=strFilename) 
 
End Function 
 

AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 12:58:09
Heidi
Hallo Peter,
vielen Dank erst Mal. Leider funktioniert der Code bei mir nicht - er meckert hier:
objAppInspector.Wordeditor.Range.FormattedText = objMailInspector.Wordeditor.Range.FormattedText
Viele Grüße
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 13:12:50
peterk
Hallo Heidi
Welche Fehlermeldung bekommst Du? (bei mir läuft der Code einwandfrei, Office 2013)
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 13:33:22
peterk
Hallo Heidi
Hab den Fehler gefunden: Wenn Outlook noch nicht gestartet ist kommt es zu dieser Meldung.
Bitte folgende Änderung nachziehen
        With objMail
            .BodyFormat = olFormatHTML
            .HtmlBody = freeText & RangeToHtml("Beispiel", "B3:I15")    ' anpassen!! 
            Set objMailInspector = .GetInspector
            .display      ' Diese Zeile einfügen 
        End With

AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 14:20:02
Heidi
Super, vielen lieben Dank - Du hast mir sehr geholfen. Einfach Klasse!!!
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 14:28:57
Heidi
Du Peter,
jetzt wollte ich in der Exceltabelle dem Button noch das Makro zuweisen, aber das funktioniert nicht.
Option Explicit
' Einige Konstanten
Const olMailItem = 0
Const olAppointmentItem = 1
Const olFormatHTML = 2
Const olDiscard = 1
Private Sub CreateAppointment()
Dim objOutLook As Object
Bei den anderen Email-Vorlagen steht noch "Public Sub Mail_Outlook_With_Signature_Html_1()" so was dabei ….
Kannst du mir hier noch einen Tipp geben? DANKE :-)
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 14:48:42
peterk
Hallo Heidi
Du musst das "Private" entfernen also nur "Sub CreateAppointment()"
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 15:01:42
Heidi
Lieber Peter,
wirklich 1000 Dank ich hätte es ohne deiner Hilfe nicht geschafft.
Viele Grüße
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 09:41:44
Heidi
Guten Morgen Peter,
eine kleine Frage hätte ich noch, vielleicht kannst du mir da nochmal helfen.
In der Besprechungsanfrage zeigt er die Zeile "An" nicht gleich an, man muss erst Teilnehmer hinzufügen. Gibt es noch die Möglichkeit, dass er dies gleich mit anzeigt?
Danke und Gruß
Heidi
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 10:01:16
peterk
Hallo Heidi
Ich schau es mir an und melde mich dann wieder :-)
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 10:03:13
Heidi
Vielen lieben Dank, bis später
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 11:00:28
peterk
Hallo Heidi
Bei den Konstanten folgenden Zeile einfügen:
Const olMeeting = 1
Dannach noch diese Zeile einfügen
            Set objAppInspector = .GetInspector
            objAppInspector.Wordeditor.Range.FormattedText = objMailInspector.Wordeditor.Range.FormattedText
            .MeetingStatus = olMeeting  ' Bitte einfügen 
            .display

AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 12:07:52
Heidi
Hallo Peter,
ich glaube ich mache was falsch:
Option Explicit
' Einige Konstanten
Const olMailItem = 1
Const olAppointmentItem = 1
Const olFormatHTML = 2
Const olDiscard = 1
Set objAppInspector = .GetInspector
objAppInspector.Wordeditor.Range.FormattedText = objMailInspector.Wordeditor.Range.FormattedText
.MeetingStatus = olMeeting ' Bitte einfügen
.display
Sub CreateAppointment()
Dim objOutLook As Object
Dim objMail As Object
So funktioniert es leider nicht. Oje … was mache ich falsch? DANKE :-)
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 12:13:34
Heidi
Hallo Peter,
sobald ich die Const o1Meeting = 1 setze, bringt er Fehlermeldung:
Objekt unterstützt diese Eigenschaft oder Methode nicht -
.HtmlBody = freeText & RangeToHtml("Einladung_Kick-Off", "A1:J62")
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 12:17:37
peterk
Hallo Heidi
Am Anfang des Moduls musst Du die Konstannt einfügen, sollte so aussehen:
Option Explicit

' Einige Konstanten 
Const olMailItem = 0
Const olAppointmentItem = 1
Const olFormatHTML = 2
Const olDiscard = 1
Const olMeeting = 1

Sub CreateAppointment()
Die Zweite Zeile (mit "einfügen markiert") fügst du im With Block objApp an der markierten Stelle ein
        Set objApp = objOutLook.CreateItem(olAppointmentItem)
        With objApp
            .Location = "wird noch bekannt gegeben"
            .Subject = "Jahr_Monat_Tag_Kick-off_8D"

            .Recipients.Add("max.mustermann@xxx.xxx").Type = 1
           
            Set objAppInspector = .GetInspector
            objAppInspector.Wordeditor.Range.FormattedText = objMailInspector.Wordeditor.Range.FormattedText
            .MeetingStatus = olMeeting  ' Bitte einfügen 
            .display
            
        End With
        objMail.Close (olDiscard)
Im Großen und Ganzen: Du musst nur 2 Zeilen einfügen:
- die Definition der Konstanten olMeeting
- die Zeile ".MeetingStatus = olMeeting" an der richtigen Stelle
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 12:22:42
Heidi
Hallo Peter,
habe ich gemacht, aber er bringt mir eine Fehlermeldung bei " .HtmlBody = freeText & RangeToHtml("Einladung_Kick-Off", "A1:J62")
Mein jetztiger Code lautet:
Option Explicit
' Einige Konstanten
Const olMailItem = 1
Const olAppointmentItem = 1
Const olFormatHTML = 2
Const olDiscard = 1
Const o1Meeting = 1
Sub CreateAppointment()
Dim objOutLook As Object
Dim objMail As Object
Dim objApp As Object
Dim objMailInspector As Object
Dim objAppInspector As Object
Dim freeText As String
On Error Resume Next
Set objOutLook = GetObject(, "Outlook.Application")
If objOutLook Is Nothing Then
Set objOutLook = CreateObject("Outlook.Application")
End If
On Error GoTo 0
If Not objOutLook Is Nothing Then
freeText = "Guten Tag, ich möchte Sie zum internen Kick-Off zu folgendem Projekt einladen. Hinweis: Gruppenleiter leiten den Termin bitte an den Projektbearbeiter in ihrer Gruppe weiter oder nehmen selbst an dem Kick-Off Termin." & vbCrLf ' anpassen!!
Set objMail = objOutLook.CreateItem(olMailItem)
With objMail
.BodyFormat = olFormatHTML
.HtmlBody = freeText & RangeToHtml("Einladung_Kick-Off", "A1:J62") ' anpassen!!
Set objMailInspector = .GetInspector
.display
End With
Set objApp = objOutLook.CreateItem(olAppointmentItem)
With objApp
.Location = "wird noch bekannt gegeben"
.Subject = "Jahr_Monat_Tag_Kick-off_8Dxx-x - Kennwort/ Land - LIPROGIS XXXX Circuit - Einladung"
.Recipients.Add("primaertechn-ethpgsdemf3en.energy@siemens.com").Type = 1
.Recipients.Add("8d.second_engin_bln.energy@siemens.com").Type = 1
.Recipients.Add("auftrag-men.energy@siemens.com").Type = 1
.Recipients.Add("LCC MIDDLE EAST (Stefan Eiermann)").Type = 1
.Recipients.Add("LCC Rest of World (Uwe Koehler)").Type = 1
.Recipients.Add("LCC (Gernot Baecker)").Type = 1
.Recipients.Add("Sec. (Geraeteplaene) ERL").Type = 1
.Recipients.Add("PM BLN (Ossner, Matthias)").Type = 1
.Recipients.Add("Prim. ERL").Type = 1
Set objAppInspector = .GetInspector
objAppInspector.Wordeditor.Range.FormattedText = objMailInspector.Wordeditor.Range.FormattedText
.MeetingStatus = o1Meeting
.display
End With
objMail.Close (olDiscard)
Else
MsgBox "Auf diesem PC/Notebook ist kein Outlook installiert!", _
vbMsgBoxSetForeground + 16, "zur Information..."
End If
Set objOutLook = Nothing
Set objMail = Nothing
Set objAppInspector = Nothing
Set objMailInspector = Nothing
End Sub
Private Function RangeToHtml(ByVal pvstrWorksheetName As String, _
ByVal pvstrRangeAddress As String) As String
Dim objFilesytem As Object
Dim objTextstream As Object
Dim objPublishObject As PublishObject
Dim strFilename As String
Dim strTempText As String
strFilename = Environ$("temp") & "\" & _
Format(Now, "dd-mm-yy_hh-mm-ss") & ".htm"
Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=pvstrWorksheetName, _
Source:=pvstrRangeAddress, _
HtmlType:=xlHtmlStatic)
Call objPublishObject.Publish(Create:=True)
Set objFilesytem = CreateObject("Scripting.FileSystemObject")
Set objTextstream = objFilesytem.GetFile(strFilename).OpenAsTextStream(1, -2)
strTempText = objTextstream.ReadAll
Call objTextstream.Close
RangeToHtml = Replace(strTempText, "align=center x:publishsource=", _
"align=left x:publishsource=")
Set objPublishObject = Nothing
Set objTextstream = Nothing
Set objFilesytem = Nothing
Call Kill(PathName:=strFilename)
End Function

AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 12:38:35
peterk
Hallo Heidi
Die Konstante olMailItem sollte 0 sein (und nicht 1 wie bei Dir) ;-)
Nur ein Schönheitstipp : Da hast O1MEETING definiert sollt aber OLMEETING heissen (spielt aber keine Rolle, hab alles in Großbuchstaben geschrieben, damit der Unterschied ersichtlich ist)
AW: Excelinhalt nach Outlook Besprechungsanfrage
11.07.2019 13:05:07
Heidi
Super Peter, hat geklappt. 1000 DANK
AW: Excelinhalt nach Outlook Besprechungsanfrage
09.07.2019 14:41:21
Martin
Hallo Heidi,
bitte nimm es mir nicht übel, aber so kommen wir nicht weiter. Deine RangeToHtml-Funktion hat nichts mehr mit meiner RangeToHtml-Funktion zu tun. Es hätte mich wirklich interessiert in welcher Zeile von meinem Code welche Fehlermeldung aufgetreten ist oder was das Ergebnis war (z.B. als Screenshot). Aber wenn du irgendwelche Codes miteinander vermischt und nicht genau die auftretenden Fehler beschreibst, dann wird dir keiner hier im Forum helfen können.
Viele Grüße
Martin
AW: Excelinhalt nach Outlook Besprechungsanfrage
10.07.2019 06:27:42
Heidi
Hallo Martin,
entschuldige, aber meine Kenntnisse in VBA sind nicht besonders gut.
Der Code ist eben der, den ich habe.
Trotzdem vielen Dank und Gruß
Heidi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige