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-Key: 339652

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

Printed on: April 23, 2024 at 07:04 o'clock

Member: colinardo
colinardo Jun 02, 2017 updated at 08:37:16 (UTC)
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
Mitglied: 133417
133417 Jun 02, 2017 updated at 08:23:23 (UTC)
Goto Top
outlook.exe /ical "C:\termine.ics"

Gruß Bibersbaum
Member: colinardo
colinardo Jun 02, 2017 updated at 08:43:15 (UTC)
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.
Member: colinardo
colinardo Jun 04, 2017, updated at Jul 23, 2017 at 10:37:57 (UTC)
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
Mitglied: 133417
133417 Jun 04, 2017 at 17:08:17 (UTC)
Goto Top
Das ist natürlich obergeil face-smile
+1

Gruß Bibersbaum
Member: derausgroenloh
derausgroenloh Jun 06, 2017 at 05:31:01 (UTC)
Goto Top
Vielen Dank, ich werde es probieren!
Member: colinardo
colinardo Jul 23, 2017 at 10:37:45 (UTC)
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.