vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Termine in Exchange erstellen ohne Outlook 
Autor: StephanC
Datum: 22.04.18 21:11

Hallo Forum,

ich habe ein kleines Excel-Tool programmiert, was auf bestimmte Ereignisse reagiert und Termine bei zuvor definierten Usern in den Kalendern einträgt. Das klappt auch ganz gut ABER es geht nur, wenn Outlook offen ist und im Outlook alle zu benutzenden Kalender geöffnet sind.
Kann ich Termine auch ohne Outlook erstellen, z.B. in dem ich den Exchange anspreche ? Es fiel auch schon das Sticihwort ActiveSync, womit ich mich aber noch gar nicht beschäftigt habe.
Wer hat Ideen / Vorschläge ? Freue mich über rege teilnahme ;)

Gruß,
Stephan
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Termine in Exchange erstellen ohne Outlook 
Autor: Souffleurlos
Datum: 24.04.18 15:30

Hallo Stephan,

um mit Outlook zu arbeiten muss Outlook nicht geöffnet sein. Aber es muss auf dem Zielrechner installiert sein.

In Excel (oder sonst wo) kannst Du auf die Outlook Object Library einen Verweis setzen und es einfach als Objekt instanzieren:

Dim oLook As Outtlook.Application

Set oLook = CreateObject("Outlook.Application")

Dim myItem As Object

Set myItem = oLook.CreateItem(olAppointmentItem)
myItem.MeetingStatus = olMeeting
myItem.Subject = "Strategy Meeting"
myItem.Location = "Conf Rm All Stars"
myItem.Start = #9/24/2009 1:30:00 PM#
myItem.Duration = 90
Set myRequiredAttendee = myItem.Recipients.Add("Nate Sun")
myRequiredAttendee.Type = olRequired
Set myOptionalAttendee = myItem.Recipients.Add("Kevin Kennedy")
myOptionalAttendee.Type = olOptional
Set myResourceAttendee = myItem.Recipients.Add("Conf Rm All Stars")
myResourceAttendee.Type = olResource

Zum Schluß eben das Speichern (oLook.Save) und oLook.Quiet nicht vergessen.
Der og Termin ist ein Beispiel von MS.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Termine in Exchange erstellen ohne Outlook 
Autor: StephanC
Datum: 25.04.18 22:08

Hallo,

vielen Dank - ich habe derzeit leider keinen Exchange zur Verfügung und kann es erst Morgen oder Übermorgen testen.

Derzeit mache ich es - nur rein informativ - so:

Public Function bTermine_Anlegen(sUser As String, sTermin As String, sBetreff As String, sDauer As String) As Boolean

Dim objApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim objFolder As Outlook.MAPIFolder
Dim objDummy As Outlook.MailItem
Dim objRecip As Outlook.Recipient
Dim objAppt As Outlook.AppointmentItem
Dim strMsg As String
Dim strName As String
On Error Resume Next

Dim sStart As String
Dim sSubject As String

sStart = sTermin
sSubject = sBetreff


' ### name der person dessen Kalendar benutzt wird ###
strName = sUser

Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objDummy = objApp.CreateItem(olMailItem)
Set objRecip = objDummy.Recipients.Add(strName)
objRecip.Resolve
If objRecip.Resolved Then
On Error Resume Next
Set objFolder = _
objNS.GetSharedDefaultFolder(objRecip, _
olFolderCalendar)
If Not objFolder Is Nothing Then
Set objAppt = objFolder.Items.Add
If Not objAppt Is Nothing Then
With objAppt
.Start = sStart
.Subject = sSubject
.Duration = sDauer
'.Location = Worksheets("Test").Range("E2")
.Save
End With
End If
End If
bTermine_Anlegen = True
Else
bTermine_Anlegen = False ' MsgBox "Could not find " & Chr(34) & strName & Chr(34) & "User not found"
End If



Set objApp = Nothing
Set objNS = Nothing
Set objFolder = Nothing
Set objDummy = Nothing
Set objRecip = Nothing
Set objAppt = Nothing

End Function
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Termine in Exchange erstellen ohne Outlook 
Autor: Ewald K
Datum: 15.05.18 13:00

Hallo Stephan,

was du suchst nennt sich CDO libary für Exchange bis 2016 und REST API für Exchange 2016

Hier ein Beispiel das ich zum Versenden von Mails verwendet habe:

Sub SendHTMLMail(strTo As String, strSubject As String, strBody As String)
'================================================= ===
'Sends email HTML email directly via exchange server, w/o outlook
'================================================= ===
 
Dim iCfg As CDO.Configuration
Dim iMsg As CDO.Message
 
Set iCfg = New CDO.Configuration
 
With iCfg
.Fields(cdoSMTPServer) = "owa.xx.xxx"
.Fields(cdoSMTPServerPort) = 25 ' typically
.Fields(cdoSendUsingMethod) = cdoSendUsingPort
.Fields(cdoSMTPConnectionTimeout) = 200
.Fields.Update
End With
 
Set iMsg = New CDO.Message
With iMsg
Set .Configuration = iCfg
.From = "ewald.k@xx.xxx"
.Sender = "ewald.k@xx.xxx"
.ReplyTo = ""
.Subject = strSubject
.HTMLBody = strBody
.To = strTo
.Send
End With
 
Set iMsg = Nothing
Set iCfg = Nothing
 
End Sub
https://www.msxfaq.de/code/mapicdo.htm
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel