derausgroenloh
Goto Top

ICS Dateien automatisch in Outlook importieren

Hallo zusammen,
ich möchte gerne ICS Dateien per script in Outlook importieren.
Wir haben ein Programm, dass für unsere Produktionsplanung zuständig ist und hier haben wir es hinbekommen, dass diese als ICS exportiert werden.
Damit wir diese dann automatisch in das Outlook bekommen benötige ich ein VBS.
Kann mir hier jemand helfen?

Content-ID: 339652

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

Ausgedruckt am: 09.11.2024 um 01:11 Uhr

colinardo
colinardo 02.06.2017 aktualisiert um 10:37:16 Uhr
Goto Top
Servus,
Damit wir diese dann automatisch in das Outlook bekommen benötige ich ein VBS.
Angebot und fertiger Code kommt gerne via PM

Grüße Uwe
133417
133417 02.06.2017 aktualisiert um 10:23:23 Uhr
Goto Top
outlook.exe /ical "C:\termine.ics"

Gruß Bibersbaum
colinardo
colinardo 02.06.2017 aktualisiert um 10:43:15 Uhr
Goto Top
Zitat von @133417:
outlook.exe /ical "C:\termine.ics"
Das öffnet das ICS File aber nur, speichert es aber nicht im Kalender face-smile. Da brauchst du schon noch mehr als das face-wink. Der Ansatz ist aber schon richtig.
colinardo
colinardo 04.06.2017, aktualisiert am 23.07.2017 um 12:37:57 Uhr
Goto Top
Naja egal, da hier keine Rückmeldung des TO kommt lösen wir es einfach mal für alle anderen die hier vorbei schauen auf:
Ordner in dem die ICS-Dateien liegen in der Konstanten "Quelle" angeben.
' IMPORT MULTIPLE ICS FILES INTO OUTLOOK  
On Error Resume Next

' Variablen deklarieren  
Dim ol,fso,objShell,start,file,isError

' Ordner in dem sich die *.ics Dateien befinden  
Const QUELLE = "D:\Termine"  
' Maximale Wartezeit für das Warten auf Outlook und das öffnen der Inspector-Fenster beim öffnen der ICS-Files (in Sekunden)  
Const MAXWAITLOOP = 10

' Erzeuge nötige Objekte  
Set ol = CreateObject("Outlook.Application")  
Set fso = CreateObject("Scripting.FileSystemObject")  
Set objShell = CreateObject("Wscript.Shell")  

'Starte Outlook explizit (nötig damit hier auf die geöffneten Inspector zugeriffen werden kann)  
objShell.Run "outlook.exe"  
start = Timer()
Do Until ol.Explorers.Count > 0
	If (start + MAXWAITLOOP) <= Timer() Then
		WScript.Quit
	End If
Loop

' Für jedes *.ics File im Ordner  
For Each file In fso.GetFolder(QUELLE).Files
	If LCase(fso.GetExtensionName(file.Name)) = "ics" Then  
		' öffne das ICS File  
		objShell.Run "outlook.exe /ical """ & file.Path & """"  
		start = Timer()
		isError = False
                'warte bis der Inspector geöffnet wurde  
		Do Until ol.Inspectors.Count > 0
			' springe aus der Schleife wenn maximale Wartezeit erreicht ist  
			If (start + MAXWAITLOOP) <= Timer() Then
				isError = True : Exit Do
			End If
		Loop
		If Not isError Then
			' Termine im Kalender speichern  
			ol.Inspectors.Item(1).CurrentItem.Close 0
		End If
	End If
Next
' Outlook schließen  
ol.Quit

' cleanup  
Set fso = Nothing
Set ol = Nothing
Set objShell = Nothing
Grüße Uwe


Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
133417
133417 04.06.2017 um 19:08:17 Uhr
Goto Top
Das ist natürlich obergeil face-smile
+1

Gruß Bibersbaum
derausgroenloh
derausgroenloh 06.06.2017 um 07:31:01 Uhr
Goto Top
Vielen Dank, ich werde es probieren!
colinardo
colinardo 23.07.2017 um 12:37:45 Uhr
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.