Teilnehmer via Weiterleiten einladen per VBA

Moderator: ModerationP

Teilnehmer via Weiterleiten einladen per VBA

Beitragvon floesi92 » 21. Mai 2019, 16:07

Hallo zusammen,
Ich suche schon den ganzen Tag nach einer Lösung, konnte aber nirgendwo etwas passendes finden. Ich arbeite mit Office 2013.

Ich möchte Teilnehmer zu einer Besprechung einladen. Allerdings nicht, indem ich sie einfach als Empfänger angebe, sondern indem ich die Besprechung an sie weiterleite. Hintergrund ist, das läuft alles mittels VBA und leider bekommen ständig alle Teilnehmer eine Terminaktualisierung, sobald ich einen neuen Teilnehmer hinzufüge.
Wenn ich meine Besprechung öffne kann ich ja ganz einfach auf "Weiterleiten" klicken und dort die neuen Teilnehmer angeben.
Das würde, bzw. muss ich aber mittels VBA realisieren.
Als ics weiterleiten kann ich nicht, da fehlt mir die Berechtigung.
Meine Frage: gibt es irgend eine Möglichkeit die "Weiterleiten"-Funktion in der Besprechung per VBA zu realisieren?

Bin für jede Hilfe dankbar!

Viele Grüße
floesi
floesi92
Neuling
 
Beiträge: 2
Registriert: 21. Mai 2019, 15:57

Re: Teilnehmer via Weiterleiten einladen per VBA

Beitragvon floesi92 » 22. Mai 2019, 08:32

Hallo zusammen,

ich habe nun doch selbst noch eine Lösung gefunden! Sorry, wenn sich nun jemand unnötig Gedanken gemacht hat!

Meine Lösung für alle, die auf dieses Thema stoßen:

Da ich partout keinen VBA-Befehl für das Weiterleiten der Besprechung finden konnte, hab ich mich einfach der Onboard-Funktion "Weiterleiten" bedient, sprich, ich habe den MSO-Befehl genutzt. Daraufhin das neu aufgegangene Fenster mit CurrentItem bestimmt und meine Empfänger eingetragen. Funktioniert top! Nachfolgend die relevanten Code-Schnipsel:

Code: Alles auswählen
Dim OutApp As Object, olAppt as Object, olFwd as Object
Dim calendar As Outlook.folder

Set OutApp = CreateObject("Outlook.Application")
Set calendar = OutApp.GetNamespace("MAPI").GetSharedDefaultFolder("NameDesBesitzers", olFolderCalendar)

For Each olAppt In calendar.Items
    '...
    If olFwd Is Nothing Then
        olAppt.Display
        OutApp.ActiveInspector.CommandBars.ExecuteMso ("Forward")
        Set olFwd = OutApp.ActiveInspector.CurrentItem
    End If
    olFwd.Recipients.Add ("NeuerTeilnehmer")
    '...
    olFwd.Recipients.ResolveAll
    olFwd.Send
    olAppt.Save
    olAppt.Close 0
Next
floesi92
Neuling
 
Beiträge: 2
Registriert: 21. Mai 2019, 15:57

Re: Teilnehmer via Weiterleiten einladen per VBA

Beitragvon mmarkus » 22. Mai 2019, 10:13

floesi92 hat geschrieben:Da ich partout keinen VBA-Befehl für das Weiterleiten der Besprechung finden konnte


Da fragt man sich natürlich wie du vorgehst.
Die Forward Methode ist jetzt kein besonderes Geheimnis und auch nicht schwer zu finden bei einer Handvoll Methoden.
Mehr als eine Minute sollte man nicht brauchen um das zu finden.

Das der Code aus Sicht eines Programmierers grauenvoll ist, brauche ich dir hoffentlich nicht zu sagen.
Vor allem bei Mischungen zwischen Early- und LateBinding frage ich mich immer wie ein Code zustande kommt.
Da muss man den Code ja auswendig wissen, oder es ist nur das Ergebnis von Copy&Paste.
Und nicht vergessen - das funktioniert nur mit gewissen Outlook Versionen.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1633
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: mmarkus und 3 Gäste