stanleyb
Goto Top

Via VBS freigegebenen Outlookkalender oeffnen

Hallo vb(a,s)Gemeinde,

die Aufgabenstellung ist folgende: Es soll ueber einen Hyperlink einer HTML Page ein, im Netz zur Verfuegung stehender, Kalender mit Outlook geoeffnet werden. Das Ganze laesst sich meines Wissens nur ueber ein outlook-"fernsteuerndes" VBS loesen. Nur sind mir die Outlookobjekte voelligfremd und zudem noch sehr unschluessig. face-sad

In der VBA-Hilfe zu Outlook hab ich folgendes gefunden:

<pre>Sub ChangeCurrentFolder()
Dim myolApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Set myolApp = CreateObject("Outlook.Application")
Set myNamespace = myolApp.GetNamespace("MAPI")
Set myolApp.ActiveExplorer.CurrentFolder = _
myNamespace.GetDefaultFolder(olFolderCalendar)
End Sub</pre>

Die kleine Routine oeffnet mir den persoenlichen Standardkalender im Outlook. Meine Problemstellung ist also folgende, dass ich das Ganze irgendwie in ein VisualBasic-Script schnueren muss und zudem nicht auf den persoenlichen Kalender, sondern einen freigegebenen Kalender ("Rufbereitschaft") linken muss.

Irgedwie finde ich nichtmal den richtigen Ansatz. Hilfe! face-smile

Gruesse und vielen Dank vorab,
Johannes Distler

Content-Key: 18968

Url: https://administrator.de/contentid/18968

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: stanleyB
stanleyB 03.11.2005 um 16:51:39 Uhr
Goto Top
<pre>Sub ResolveName()
Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim myRecipient As Outlook.Recipient
Dim CalendarFolder As Outlook.MAPIFolder
Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myRecipient = myNamespace.CreateRecipient("Rufbereitschaft")
myRecipient.Resolve
If myRecipient.Resolved Then
Call ShowCalendar(myNamespace, myRecipient)
End If
End Sub
<hr>
Sub ShowCalendar(myNamespace, myRecipient)
Dim CalendarFolder As Outlook.MAPIFolder
Set CalendarFolder = _
myNamespace.GetSharedDefaultFolder _
(myRecipient, olFolderCalendar)
CalendarFolder.Display
End Sub
</pre>


Waere genial!

Gruesse,
Johannes Distler
Mitglied: stanleyB
stanleyB 03.11.2005 um 19:11:32 Uhr
Goto Top
Call ResolveName

Sub ResolveName()
Dim myOlApp ' As Outlook.Application
Dim myNamespace ' As Outlook.NameSpace
Dim myRecipient ' As Outlook.Recipient
Dim CalendarFolder ' As Outlook.MAPIFolder
Const olFolderCalender = 9

Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myRecipient = myNamespace.CreateRecipient("MED CTD Rufbereitschaft")
myRecipient.Resolve
If myRecipient.Resolved Then
' Call ShowCalendar(myNamespace, myRecipient)
msgbox("weiter gehts")
End If

Dim myCalendarFolder ' As Outlook.MAPIFolder
Set myCalendarFolder = myNamespace.GetSharedDefaultFolder(myRecipient, olFolderCalender)
myCalendarFolder.Display
End Sub
Mitglied: Biber
Biber 03.11.2005 um 19:32:08 Uhr
Goto Top
ROFL
...wieso ändert sich denn der Name des Kalenders bei der Portierung von "Rufbereitschaft" auf "MED CTD Rufbereitschaft"??
Auf die Lösung konnte ja auch keiner außer Dir kommen..

Danke fürs Posten und schönen Abend
Biber