Über Userform in Excel Besprechungsanfrage in Outlook send

Moderator: ModerationP

Über Userform in Excel Besprechungsanfrage in Outlook send

Beitragvon STS16949 » 27. Jun 2018, 10:52

Hallo zusammen,

ich habe die Aufgabe, über eine Userform in Excel eine Besprechungsanfrage an einen gewissen Teilnehmerkreis zu senden. Das funktioniert mit folgenden Makro schon ganz gut:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub TerminSenden()
Dim outApp As Object
Dim outtermin As Object, TN(0 To 10) As String, lngZeile As Long, i%
Set outApp = New Outlook.Application
Set outtermin = outApp.CreateItem(olAppointmentItem)
With outtermin
.Display
.Importance = olImportanceHigh
.MeetingStatus = olMeeting
For i = 0 To UserForm1.ListBox5.ListCount - 1 'Einfügen der Teilnehmer
TN(i) = Replace(UserForm1.ListBox5.List(i), " ", ".") & "@firma.de"
.Recipients.Add TN(i)
Next i
.Subject = "Text - " & UserForm1.TextBox16.Value & " " & UserForm1.ComboBox2.Value
If UserForm1.ComboBox3.Value = "SUP" Then 'Je nach Fall benötigten Besprechungsort angeben
.Location = UserForm1.TextBox18.Value & " - " & UserForm1.TextBox19.Value & ", " & UserForm1.TextBox20.Value & ", " & UserForm1.TextBox21.Value
Else
.Location = UserForm1.ComboBox3.Value
End If
.Start = CDate("28.06.2018") + CDate(#3:00:00 PM#)
.Body = "Hallo, das ist ein Test"
.Duration = "30" '*** in Minuten ***
.ReminderMinutesBeforeStart = 15
.ReminderPlaySound = True
.ReminderSet = True
.Send
.Save
End With
End Sub
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Mein Problem ist jetzt, dass ich in der Besprechungsanfrage einen Link zu einer Datei (also keinen Dateianhang) einfügen möchte, damit die Teilnehmer mit einer automatisch erstellten Datei im Netzwerk arbeiten können und nicht extra nach Bearbeitung irgendwo abspeichern müssen.
Ich hoffe, ich habe mein Problem verständlich dargestellt und jemand kann mir helfen?

Vielen Dank schon mal und beste Grüße, Stephan
STS16949
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 19
Registriert: 23. Mai 2017, 08:47

Re: Über Userform in Excel Besprechungsanfrage in Outlook se

Beitragvon mmarkus » 27. Jun 2018, 11:37

Vielleicht mal googeln. Da findest du jede Menge fertige Lösungen und Erklärungen.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1642
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Über Userform in Excel Besprechungsanfrage in Outlook se

Beitragvon STS16949 » 27. Jun 2018, 11:57

Hatte ich bereits zwei Stunden getan und keine passenden Lösungen bzw. einen Ansatz, wie man einen Link in die Besprechungsnafrage reinbekommt, gefunden. Daher habe ich mich auch an das Forum gewendet, da ich mit Googlen nicht vorangekommen bin...
STS16949
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 19
Registriert: 23. Mai 2017, 08:47

Re: Über Userform in Excel Besprechungsanfrage in Outlook se

Beitragvon mmarkus » 27. Jun 2018, 13:40

STS16949 hat geschrieben:Hatte ich bereits zwei Stunden getan und keine passenden Lösungen bzw. einen Ansatz, wie man einen Link in die Besprechungsnafrage reinbekommt, gefunden. Daher habe ich mich auch an das Forum gewendet, da ich mit Googlen nicht vorangekommen bin...



such mal unter:

outlook hyperlink vba

Aber im Prinzip würde ich einen Hyperlink händisch erstellen und dann den HTML Body der Mail auslesen um dann abzuleiten, wie ich den HTML Link erstellen könnte.
Kannst natürlich auch gleich auf einer Seite bei der es um HTML geht nachsehen.

LG Markus
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1642
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Über Userform in Excel Besprechungsanfrage in Outlook se

Beitragvon STS16949 » 27. Jun 2018, 14:04

Hab nach intensiver Recherche (mit Englischen Suchbegriffen) endlich eine Lösung gefunden, welche ich euch für die, die ebenfalls ein solche Problem haben sollten, zur Verfügung stellen:

Sub TerminSenden()
Dim outApp As Object
Dim outtermin As Object, TN(0 To 10) As String, lngZeile As Long, i%, objInsp As Object, objDoc As Object, objSel As Object
Set outApp = New Outlook.Application
Set outtermin = outApp.CreateItem(olAppointmentItem)
scomplete = ThisWorkbook.Path 'Pfad der zu verlinkenden Datei
sname = "test.jpg" 'Name der zu verlinkenden Datei
With outtermin
.Display
.Importance = olImportanceHigh
.MeetingStatus = olMeeting 'Die Terminoberfläche auf eine Besprechungsanfrage ändern
'Die Teilnehmer der Besprechung aus einer Listbox der Userform einlesen--------------------
For i = 0 To UserForm1.ListBox5.ListCount - 1
TN(i) = Replace(UserForm1.ListBox5.List(i), " ", ".") & "@firma.de"
.Recipients.Add TN(i)
Next i
'Die Teilnehmer der Besprechung aus einer Listbox der Userform einlesen--------------------
.Subject = "Text - " & UserForm1.TextBox16.Value & " " & UserForm1.ComboBox2.Value 'Betreff der Besprechung
'Festlegen des Standorts in Abhängigkeit, ob intern oder extern--------------------
If UserForm1.ComboBox3.Value = "SUP" Then
.Location = UserForm1.TextBox18.Value & " - " & UserForm1.TextBox19.Value & ", " & UserForm1.TextBox20.Value & ", " & UserForm1.TextBox21.Value
Else
.Location = UserForm1.ComboBox3.Value
End If
'Festlegen des Standorts in Abhängigkeit, ob intern oder extern--------------------
.Start = CDate("28.06.2018") + CDate(#3:00:00 PM#)
.Body = "Hallo, das ist ein Test"
'Einfügen des Links. Funktioniert über den Wordeditor. Dafür ist vorher noch in VBA unter Verweise die "Microsoft Word XX.0 Object Library" zu aktivieren!--------------------
strLink = scomplete & "\" & sname 'Link zur Datei
strLinkText = "Get Outlook code samples here" 'Text, der in der Besprechungsanfrage als Link angezeigt werden soll
Set objInsp = outtermin.GetInspector
Set objDoc = objInsp.WordEditor
Set objSel = objDoc.Windows(1).Selection
objDoc.Hyperlinks.Add objSel.Range, strLink, "", "", strLinkText, ""
'Einfügen des Links. Funktioniert über den Wordeditor. Dafür ist vorher noch in VBA unter Verweise die "Microsoft Word XX.0 Object Library" zu aktivieren!--------------------
.Duration = "30" '*** in Minuten ***
.ReminderMinutesBeforeStart = 15
.ReminderPlaySound = True
.ReminderSet = True
.Send
.Save
End With
End Sub

@Markus: Der Body einer Besprechungsanfrage kann nicht in HTML erstellt werden und deshalb funktioniert das einbinden des Hyperlinks in HTMLBody hier nicht. Aber trotzdem Danke für deine Anregungen!

Beste Grüße, Stephan
Zuletzt geändert von STS16949 am 28. Jun 2018, 06:21, insgesamt 1-mal geändert.
STS16949
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 19
Registriert: 23. Mai 2017, 08:47

Re: Über Userform in Excel Besprechungsanfrage in Outlook se

Beitragvon mmarkus » 27. Jun 2018, 14:40

@Stephan,
hab vergessen, dass bei Outlook die HTML Bodys teilweise gesperrt sind.
Ich arbeite öfter mit den Redemption Klassen, und das sind die HTML Bodys für alle Outlook Objekte zugänglich.

Jedenfalls schön dass du die Lösung gepostet hast.
Vielleicht kannst du noch die Code Tags setzen, so dass man den Code auch vernünftig lesen kann.
LG Markus
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1642
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Über Userform in Excel Besprechungsanfrage in Outlook se

Beitragvon STS16949 » 28. Jun 2018, 06:24

@ Markus
Kein Problem :)

Hab die entsprechenden Tags gesetzt!

Beste Grüße, Stephan
STS16949
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 19
Registriert: 23. Mai 2017, 08:47


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste