Aus XBase Termine in Outlook anlegen
Moderator: Moderatoren
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Aus XBase Termine in Outlook anlegen
Hi,
hat vielleicht schon jemand mit Outlook gearbeitet und aus dem XBase dort die Termine angelegt bzw. verwaltet?
Geht so was überhaupt?
Gibt es vielleicht eine Beschreibung der Befehle für Outlook-ActiveX?
hat vielleicht schon jemand mit Outlook gearbeitet und aus dem XBase dort die Termine angelegt bzw. verwaltet?
Geht so was überhaupt?
Gibt es vielleicht eine Beschreibung der Befehle für Outlook-ActiveX?
Hallo Andreas,
hast du dir das Alaska-Beispiel unter source\samples\activex\olimport\
contactnavigator.prg mal angesehen. Dort gibt es auch eine outlook.ch.
Laut meinem Buch muss man einen Trick benutzten um Outlook sichtbar
zu machen, nach dem man das Outlookobjekt mit
oOutlook := CreateObject("Outlook.Application")
angelegt hat.
Wo man die Befehle bei Microsoft findet habe ich leider noch nicht heraus-
gefunden.
Da ich aus Sicherheitsgründen kein Outlook im Einsatz habe, kann ich
leider nichts testen.
Gruß
Alfred
hast du dir das Alaska-Beispiel unter source\samples\activex\olimport\
contactnavigator.prg mal angesehen. Dort gibt es auch eine outlook.ch.
Laut meinem Buch muss man einen Trick benutzten um Outlook sichtbar
zu machen, nach dem man das Outlookobjekt mit
oOutlook := CreateObject("Outlook.Application")
angelegt hat.
Wo man die Befehle bei Microsoft findet habe ich leider noch nicht heraus-
gefunden.
Da ich aus Sicherheitsgründen kein Outlook im Einsatz habe, kann ich
leider nichts testen.
Gruß
Alfred
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2936
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Hallo Andreas,
ich habe bisher nur den Export der Kontakte nach Outlook implementiert, dazu habe ich den Com Assistant http://www.devcomponents.com/comassistant/ benutzt, um mir von Outlook eine HTML-Hilfedatei zu den Objekten, Methoden und Properties zu erstellen. Ansonsten gibt auch die VBAOL11.CHM eine gute Übersicht über diese Infos.
ich habe bisher nur den Export der Kontakte nach Outlook implementiert, dazu habe ich den Com Assistant http://www.devcomponents.com/comassistant/ benutzt, um mir von Outlook eine HTML-Hilfedatei zu den Objekten, Methoden und Properties zu erstellen. Ansonsten gibt auch die VBAOL11.CHM eine gute Übersicht über diese Infos.
Viele Grüße
Wolfgang
Wolfgang
Hallo Andreas,
vielleicht hilft dir dieser Artikel weiter:
http://support.microsoft.com/kb/506618/de
Gruß
Alfred
vielleicht hilft dir dieser Artikel weiter:
http://support.microsoft.com/kb/506618/de
Gruß
Alfred
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Hallo Wolfgang,Wolfgang Ciriack hat geschrieben:Hallo Andreas,
ich habe bisher nur den Export der Kontakte nach Outlook implementiert, dazu habe ich den Com Assistant http://www.devcomponents.com/comassistant/ benutzt, um mir von Outlook eine HTML-Hilfedatei zu den Objekten, Methoden und Properties zu erstellen. Ansonsten gibt auch die VBAOL11.CHM eine gute Übersicht über diese Infos.
danke für den Hinweis auf die CHM-Datei. Ich wusste garnicht, dass da so was vorhanden und sogar noch auf deutsch ist.
- Muecke
- 1000 working lines a day
- Beiträge: 623
- Registriert: Di, 24. Okt 2006 7:19
- Wohnort: Samstagern CH
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
- Kontaktdaten:
Hallo Andreas,
ich bin dran an einem Terminkalender zu Programmieren. Warum?
Es ist mir zu viel, wenn jedes Mal Microsoft mit neuer Version kommt und nichts ist mehr kompatibel ist. zuerst 2000,2003 und jetzt 2007.
Das gleiche ist ja auch ein Thema mit Excel.
Vielleicht kann ich dir Helfen?
Gruss Thomas
ich bin dran an einem Terminkalender zu Programmieren. Warum?
Es ist mir zu viel, wenn jedes Mal Microsoft mit neuer Version kommt und nichts ist mehr kompatibel ist. zuerst 2000,2003 und jetzt 2007.
Das gleiche ist ja auch ein Thema mit Excel.
Vielleicht kann ich dir Helfen?
Gruss Thomas
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Hallo Thomas,Muecke hat geschrieben:Hallo Andreas,
ich bin dran an einem Terminkalender zu Programmieren. Warum?
Es ist mir zu viel, wenn jedes Mal Microsoft mit neuer Version kommt und nichts ist mehr kompatibel ist. zuerst 2000,2003 und jetzt 2007.
Das gleiche ist ja auch ein Thema mit Excel.
Vielleicht kann ich dir Helfen?
Gruss Thomas
ich möchte die Termine, die in meinem Programm eingetragen werden, in vorhandenes Outlook für die Erinnerung eintragen, ohne ein neues Rad zu erfinden. Es ist sicher interessant, so ein Kalender in XBase zu sehen, da aber bei uns demnächst immer mit Outlook gearbeitet werden soll und da sowieso alle Termine gepflegt werden, wäre es besser, dass alle Erinnerungen von einem Programm kommen.
Kommst zu DevCon? Es wäre Interessant deine Lösung zu sehen.
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Hallo Klaus,Koverhage hat geschrieben:Hallo Andreas,
auch ich habe jetzt das Problem, Termine über die Xbase++ Anwendung in Outlook eintragen zu müssen.
Wenn Du es gelöst hast, könntest Du mir ein paar Tips geben ?
Klaus
hier ist mein Testcode:
Code: Alles auswählen
**********************************************
** Klasse für die Arbeit mit Microsoft Outlook
**********************************************
** Erstellt: Andreas Engler
** Datum: 26.09.2007
**********************************************
#include "Gra.ch"
#include "Xbp.ch"
#include "Common.ch"
#include "Appevent.ch"
#include "Font.ch"
#include "ODBCDBE.ch"
#include "SQLCMD.ch"
**#INCLUDE "bilder.CH"
#include "Appbrow.ch"
#include "Service.ch"
#include "Fileio.ch"
#include "asinet.ch"
#include "Thread.ch"
#INCLUDE "Outlook.CH"
#pragma library( "ascom10.lib" )
#DEFINE CRLF CHR(13)+CHR(10)
**Konstanten von Outlook
*Item-Type
*#DEFINE olAppointmentItem 1
*#DEFINE olContactItem 2
*#DEFINE olDistributionListItem 7
*#DEFINE olJournalItem 4
*#DEFINE olMailItem 0
*#DEFINE olNoteItem 5
*#DEFINE olPostItem 6
*#DEFINE olTaskItem 3
CLASS Outlook
EXPORTED:
METHOD Init
METHOD Destroy
METHOD SetTermin //einen neuen Termin im aktuellen Kalender anlegen
METHOD GetMsgTermine //Liste der Termine als Messagebox ausgeben
Var oOutlook //Outlook-Objekt
Var lVerbunden //Steht die Verbindung zu Outlook
ENDCLASS
METHOD Outlook:Init()
::lVerbunden := .f.
::oOutlook := CreateObject( "Outlook.Application" )
IF NIL == ::oOutlook
// Outlook.Application kann nicht erzeugt werden.
msgbox( "Fehler: "+alltrim(var2char(ComLastError()))+CRLF;
+"Beschreibung:"+CRLF;
+alltrim(var2char(ComLastMessage())),"Fehler")
else
::lVerbunden := .t.
ENDIF
RETURN self
METHOD Outlook:Destroy()
IF ::lVerbunden
::oOutlook:destroy()
ENDIF
::oOutlook := NIL
::lVerbunden := NIL
RETURN self
**einen neuen Termin im aktuellen Kalender anlegen
**Parameter:
**cBetreff - Betreff
**cNotiz - Notizen
**cOrt - Ort
**dDatum - Termindatum
**cZeit - Terminzeit (hh:mm:ss)
**nDauer - Dauer des Termines in Minuten
**nErinZeit - Erinnerung vor dem Termin in Minuten
METHOD SetTermin( cBetreff, cNotiz, cOrt, dDatum, cZeit, nDauer, nErinZeit )
local oTermin
local lOk := .f.
Default cBetreff to "Termin", cNotiz to "", dDatum to date(),;
cZeit to time(), cOrt to "", nDauer to 0,;
nErinZeit to 60
IF ::lVerbunden
oTermin := ::oOutlook:CreateItem( olAppointmentItem )
oTermin:Subject := cBetreff //Betreff
oTermin:Location := cOrt //Ort einstellen
oTermin:Start := alltrim(str(year(dDatum)))+"-"+strzero(month(dDatum),2)+"-"+strzero(day(dDatum),2)+" "+cZeit //Startdatum und Zeit einstellen
oTermin:Duration := nDauer //Dauer des Termins einstellen
oTermin:ReminderSet := .t. //Errinerung aktivieren
oTermin:ReminderMinutesBeforeStart = nErinZeit //Erinnerung vor dem Termin in Minuten
*oTermin:ReminderTime := dDatum //Datum und Zeit, zu denen die Erinnerung erfolgen soll
oTermin:Body := cNotiz
oTermin:save() //Termin speichern
*oTermin:Display() //Termin am Display anzeigen
lOk := .t.
ENDIF
RETURN lOk
**Liste der Termine als Messagebox ausgeben
METHOD GetMsgTermine()
local nCount := 0
local cMsg := ""
local i := 0
IF ::lVerbunden
nCount := ::oOutlook:Reminders:Count
IF nCount > 0
FOR i := 1 TO nCount
cMsg += ::oOutlook:Reminders:Item(i):Caption + CRLF // + " Termin: " + alltrim(var2char(::oOutlook:Reminders:Item(i):OriginalReminderDate))
NEXT
msgbox("Anzahl der Termine: "+var2char(nCount)+CRLF;
+cMsg,"Info")
else
msgbox("Keine Termine vorhanden!","Info")
ENDIF
ENDIF
RETURN self
Code: Alles auswählen
PROCEDURE Main()
local oOutlook
? "Test der Outlook-Klasse"
oOutlook := Outlook():New()
IF oOutlook:lVerbunden
? "Verbunden mit Outlook"
*? var2char(oOutlook)
*oOutlook:GetMsgTermine()
oOutlook:SetTermin( "Test1", "Test der Termine", "Ort", date()+1, "13:10:00", 15 )
oOutlook:GetMsgTermine()
ENDIF
oOutlook:destroy()
wait
quit
RETURN
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Aus XBase Termine in Outlook anlegen
hi,
ich sehe beim "stöbern" gerade diesen Thread und ich denke, wenn es noch interessant ist,
das es noch eine "elegantere" Lösung gibt : Codejock Calender activeX.
dabei geht es nicht um den Calender selbst, der ja 1:1 Outlook entspricht, sondern um die MAPI
"Verbindung". Daten die man in Outlook einträgt werden "sofort" im Codejock Calender angezeigt
um umgekehrt ebenfalls.
Nun "füttere" ich den Codejock Calender aus einer DBF und umgekehrt "könnte" man Outlook
auch "auslesen" und in eine DBF schreiben.
"könnte" weil die MAPI "Erkenntnisse" eigentlich ein "Nebenprodukt" bei der Entwicklung von
XCodejock / HX_Class war und nicht weiter verfolgt wurde ... aber der Code existiert.
für Express++ User bitte an Roger wenden und nach der XCodejock Calender MAPI von Chriss
fragen (Demo1 oder Demo2), die HX_Demo könnt ihr von mir haben.
... ich bin mir nicht sicher, aber ich "denke" ich hätte sogar die "Kontakte" über die MAPI
"Verbindung" bekommen können ...
ich sehe beim "stöbern" gerade diesen Thread und ich denke, wenn es noch interessant ist,
das es noch eine "elegantere" Lösung gibt : Codejock Calender activeX.
dabei geht es nicht um den Calender selbst, der ja 1:1 Outlook entspricht, sondern um die MAPI
"Verbindung". Daten die man in Outlook einträgt werden "sofort" im Codejock Calender angezeigt
um umgekehrt ebenfalls.
Nun "füttere" ich den Codejock Calender aus einer DBF und umgekehrt "könnte" man Outlook
auch "auslesen" und in eine DBF schreiben.
"könnte" weil die MAPI "Erkenntnisse" eigentlich ein "Nebenprodukt" bei der Entwicklung von
XCodejock / HX_Class war und nicht weiter verfolgt wurde ... aber der Code existiert.
für Express++ User bitte an Roger wenden und nach der XCodejock Calender MAPI von Chriss
fragen (Demo1 oder Demo2), die HX_Demo könnt ihr von mir haben.
... ich bin mir nicht sicher, aber ich "denke" ich hätte sogar die "Kontakte" über die MAPI
"Verbindung" bekommen können ...
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Aus XBase Termine in Outlook anlegen
hi,
ich habe mich doch mal daran gemacht es mit Xbase++ und MAPI zu versuchen. Hier nun das (Teil) Ergebniss. leider benötigt die activeX Schnittstelle pro "Call" ca. 0.0191 Sec. was sich am Aufbau bemerkbar macht.
Wenn man nun die Outlook Calendar Daten per MAPI "ausliest" in eine DBF und OlCal.EXE mit der Option DBF startet sieht die Sache schon ganz anders aus.
ich habe mich doch mal daran gemacht es mit Xbase++ und MAPI zu versuchen. Hier nun das (Teil) Ergebniss. leider benötigt die activeX Schnittstelle pro "Call" ca. 0.0191 Sec. was sich am Aufbau bemerkbar macht.
Wenn man nun die Outlook Calendar Daten per MAPI "ausliest" in eine DBF und OlCal.EXE mit der Option DBF startet sieht die Sache schon ganz anders aus.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Aus XBase Termine in Outlook anlegen
da ja doch einige Interesse haben hier nun die "beta" 0.51
was aber nun funktioniert ist die Day / Week / Month Umschaltung sowie die 24Std/12Std bei Day / Week.
bei einer 12Std Anzeige wird eine "doppelte" Höhe verwendet die "Scrollbar" ist.
die 1st Zeile enthält immer SUBJECT
wenn weiter Zeilen zur Verfügung stehen kommt in der 2nd Zeile LOCATION
ab Zeile 3 kommt dann das Memo BODY ( nur in der DBF Version )
bei einer 12Std Anzeige wird innerhalb einer Cell 2 Zeilen angezeigt.
Das Synchronisieren der DBF kann man nun auch aus der Anwendung
( das alte Tool OL2DBF.EXE http://www.xbaseforum.de/viewtopic.php? ... 6&start=15 funktioniert auch noch )
zur Steigerung der Geschwindigkeit bei MAPI habe ich ein Array-Cache eingebaut
Kommentare und Rückmeldungen erwünscht.
man kann in der Demo bei "DBF" keine Änderungen vornehmen ( Save ) ... es gibt noch keine Method dafür was aber nun funktioniert ist die Day / Week / Month Umschaltung sowie die 24Std/12Std bei Day / Week.
bei einer 12Std Anzeige wird eine "doppelte" Höhe verwendet die "Scrollbar" ist.
die 1st Zeile enthält immer SUBJECT
wenn weiter Zeilen zur Verfügung stehen kommt in der 2nd Zeile LOCATION
ab Zeile 3 kommt dann das Memo BODY ( nur in der DBF Version )
bei einer 12Std Anzeige wird innerhalb einer Cell 2 Zeilen angezeigt.
Das Synchronisieren der DBF kann man nun auch aus der Anwendung
( das alte Tool OL2DBF.EXE http://www.xbaseforum.de/viewtopic.php? ... 6&start=15 funktioniert auch noch )
zur Steigerung der Geschwindigkeit bei MAPI habe ich ein Array-Cache eingebaut
Kommentare und Rückmeldungen erwünscht.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Aus XBase Termine in Outlook anlegen
moin,
so nun hier die v0.83 mit DragDrop in Days/Week Ansicht
der "Save" Button arbeitet nun in dieser Version wobei Outlook "Pflicht" (!!!) ist
da in der DBF Version auch ein Update per MAPI an Outlook geschickt wird ! ( Neu & Edit )
die Zeitskala ist auf 30min Abstände festgelegt, aber es wird noch nicht überall "validiert". bitte aufpassen ! ( Eingabe Maske )
so nun zum DragDrop :
bei der 24Std Anzeige war es kein Problem, aber bei der 12Std Anzeige muss ich ja evtl. noch scrollen bevor ich das Ziel finde.
wenn man nun also auf einen (vorhandenen) Termin klickt und man die Maustaste ca. 0.5sec ( GetDoubleClickTime() ) "festhält" wandelt sich der Cursor.
An der Spitze des Cursor wird nun in einem Bitmap der Inhalt ( 1st. Zeile = Startzeit ) der "Cell" angezeigt was man nun "Drag(en)" kann.
für das "Drop" muss ich nun "nochmals" auf die gewünschte Ziel Position klicken ! die Cursor Spitze ist dabei entscheidend, nicht das Bitmap !
dies ist notwendig wenn in der 12Std Anzeige das Ziel nicht "sichtbar" ist und man erst "scrollen" muss.
das ganze kann man natürlich hierbei mit ESC abbrechen
!!! Es wird nur eine Msgbox() ausgegeben und nichts verändert !!! Im ZIP File findet ihr nun auch eine DLL ... es gibt also auch eine LIB die ich veröffentlichen kann bei Interesse.
todo :
endgültiges "moven" ausführen
Layout Auflösung z.Z. nur auf 1024x768 und 1280x1024 optimiert
Layout Farben "ini"
"suchen" Button ...
"Allday" vorhanden, aber "Geburtstage" kann man in der DBF Version noch nicht aktivieren ( RecurrenceState )
"Reminder" ... noch keine Aktion
weitere Ideen und Vorschläge willkommen
Nachtrag : leider habe ich die MAPI Version mit der DLL nicht geprüft und bekomme wieder die RPC Fehler ...
ok hier auf die "schnelle" ein Update v0.83a
so nun hier die v0.83 mit DragDrop in Days/Week Ansicht
der "Save" Button arbeitet nun in dieser Version wobei Outlook "Pflicht" (!!!) ist
da in der DBF Version auch ein Update per MAPI an Outlook geschickt wird ! ( Neu & Edit )
die Zeitskala ist auf 30min Abstände festgelegt, aber es wird noch nicht überall "validiert". bitte aufpassen ! ( Eingabe Maske )
so nun zum DragDrop :
bei der 24Std Anzeige war es kein Problem, aber bei der 12Std Anzeige muss ich ja evtl. noch scrollen bevor ich das Ziel finde.
wenn man nun also auf einen (vorhandenen) Termin klickt und man die Maustaste ca. 0.5sec ( GetDoubleClickTime() ) "festhält" wandelt sich der Cursor.
An der Spitze des Cursor wird nun in einem Bitmap der Inhalt ( 1st. Zeile = Startzeit ) der "Cell" angezeigt was man nun "Drag(en)" kann.
für das "Drop" muss ich nun "nochmals" auf die gewünschte Ziel Position klicken ! die Cursor Spitze ist dabei entscheidend, nicht das Bitmap !
dies ist notwendig wenn in der 12Std Anzeige das Ziel nicht "sichtbar" ist und man erst "scrollen" muss.
das ganze kann man natürlich hierbei mit ESC abbrechen
!!! Es wird nur eine Msgbox() ausgegeben und nichts verändert !!! Im ZIP File findet ihr nun auch eine DLL ... es gibt also auch eine LIB die ich veröffentlichen kann bei Interesse.
todo :
endgültiges "moven" ausführen
Layout Auflösung z.Z. nur auf 1024x768 und 1280x1024 optimiert
Layout Farben "ini"
"suchen" Button ...
"Allday" vorhanden, aber "Geburtstage" kann man in der DBF Version noch nicht aktivieren ( RecurrenceState )
"Reminder" ... noch keine Aktion
weitere Ideen und Vorschläge willkommen
Nachtrag : leider habe ich die MAPI Version mit der DLL nicht geprüft und bekomme wieder die RPC Fehler ...
ok hier auf die "schnelle" ein Update v0.83a
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Aus XBase Termine in Outlook anlegen
hi,
ich habe einen neuen Thread unter http://www.xbaseforum.de/viewtopic.php?f=41&t=5128 angelegt.
Es handelt sich nun um einen vollständigen Kalender mit MAPI Schnittstelle.
ich habe einen neuen Thread unter http://www.xbaseforum.de/viewtopic.php?f=41&t=5128 angelegt.
Es handelt sich nun um einen vollständigen Kalender mit MAPI Schnittstelle.
gruss by OHR
Jimmy
Jimmy