Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wizards & Builders GmbH Arbeiten mit DDE- und OLE DDE- und OLE-Funktionen und Einsatz als OLE-Server von Microsoft Visual FoxPro.

Ähnliche Präsentationen


Präsentation zum Thema: "Wizards & Builders GmbH Arbeiten mit DDE- und OLE DDE- und OLE-Funktionen und Einsatz als OLE-Server von Microsoft Visual FoxPro."—  Präsentation transkript:

1 Wizards & Builders GmbH Arbeiten mit DDE- und OLE DDE- und OLE-Funktionen und Einsatz als OLE-Server von Microsoft Visual FoxPro

2 Wizards & Builders GmbH Diese Schulung dient der Einführung in die Ansteuerung von anderen Anwendungen wie WinWord, Excel, Project, Outlook via OLE-Automation aus Microsoft Visual Foxpro

3 Wizards & Builders GmbH Themenübersicht DDE-Funktionsübersicht, Beispiel DDE-Funktionsübersicht, Beispiel OLE-Automation mit MS WinWord, Beispiel OLE-Automation mit MS WinWord, Beispiel OLE-Automation mit MS Excel, Beispiel OLE-Automation mit MS Excel, Beispiel MAPI und VFP MAPI und VFP OLE-Automation mit MS Outlook, Beispiel OLE-Automation mit MS Outlook, Beispiel OLE-Automation mit MS Project OLE-Automation mit MS Project OLE-Automation mit MS SQL-Server OLE-Automation mit MS SQL-Server OLE-Automation mit MS Access OLE-Automation mit MS Access FPOLE.DLL-Funktionsübersicht FPOLE.DLL-Funktionsübersicht Remote OLE-Automation Remote OLE-Automation

4 Wizards & Builders GmbH Office Automation Office Automation und Möglichkeiten der Anbindung von Software

5 Wizards & Builders GmbH Was ist Office Automation? Betriebssystem Betriebssystem Standardanwendungen Standardanwendungen Textverarbeitung Textverarbeitung Tabellenkalkulation Tabellenkalkulation Terminverwaltung etc. Terminverwaltung etc. Business Anwendungen Business Anwendungen Auftragsbearbeitung bzw. eigentliche Geschäfts-anwendung (Eigene Programmierung) Auftragsbearbeitung bzw. eigentliche Geschäfts-anwendung (Eigene Programmierung)

6 Wizards & Builders GmbH Möglichkeiten der Anbindung ODBC- Open Database Connectivity ODBC- Open Database Connectivity DDE- Dynamic Data Exchange DDE- Dynamic Data Exchange OLE- Object Linking a. Embedding OLE- Object Linking a. Embedding COM- Component Object Model COM- Component Object Model DCOM- Distributed COM (Transport) DCOM- Distributed COM (Transport) ActiveX- a new Word for OLE ActiveX- a new Word for OLE

7 Wizards & Builders GmbH DDE-Funktionen Kurze Übersicht über die DDE- Funktionen von Microsoft Visual FoxPro

8 Wizards & Builders GmbH DDE-Funktionsübersicht DDESetOption DDESetOption Safety, TimeOut Safety, TimeOut DDEInitiate DDEInitiate DDEExecute DDEExecute DDETerminate DDETerminate DDELastError DDELastError DDESetTopic DDESetTopic System, ggf. Document System, ggf. Document DDEPoke (Write) DDEPoke (Write) DDERequest (Read) DDERequest (Read)Server: DDEAdvise (Topics) DDEAdvise (Topics) DDEEnabled DDEEnabled

9 Wizards & Builders GmbH DDE-Initialisierung * ggf. =ddeSetOption( "TimeOut", 3000) *-- Fehlermeldungen abschalten =ddeSetOption( "Safety",.f.) *-- Prüfen ob WinWord schon geöffnet lhWord= ddeInitiate( "Winword", "System") if lhWord < 0 run /n7 &lcWordExe lhWord= ddeInitiate( "Winword", "System") if lhWord < 0 returnendifendif =ddeTerminate( lhWord)

10 Wizards & Builders GmbH DDE-Ansteuerung if ddeExecute( lhWord, '[DateiNeu &lcTemplate]') ? ddeExecute( lhWord, '[BearbeitenGeheZu Adresse_an]') ? ddeExecute( lhWord, '[Einfügen Firma GmbH ]') ? ddeExecute( lhWord, '[BearbeitenGeheZu Adr_Ansch]') ? ddeExecute( lhWord, '[Einfügen Straße"]') *-- Und nun eine Variable/TabellenFeld einfügen lcOrt= PLZ Wohnort" ? ddeExecute( lhWord, '[BearbeitenGeheZu An_Ort]') ? ddeExecute( lhWord, '[Einfügen &lcOrt]') endif

11 Wizards & Builders GmbH DDE-Set Topic * Hier gehts darum, Falls Winword geöffnet ist, das * gewünschte Dokument als Aktives Dokument für den DDE-Kanal * anzuwählen. Mit Hilfe der Topics kann festgestellt werden, * ob ein bestimmtes Dokument geöffnet ist lhWord= ddeInitiate( "Winword", "System") ? ddeExecute( lhWord, '[Dateiöffnen "&lcRngDoc"]') lcTopics= ddeRequest( lhWord, "topics") if.not. (upper( lcRngDoc) $ upper(lcTopics)) ? ddeTerminate( lhWord) returnendif

12 Wizards & Builders GmbH Verschiedene DDE-Beispiele * -- setzen von Topic: Die Rechnung lh2= DDEINITIATE( "Winword", "&lcRngDoc") *-- An den Anfang des Dokuments gehen ? ddeExecute( lh2, '[BeginnDokument]') *-- An den Anfang der Zeile gehen ? ddeExecute( lh2, '[BeginnZeile]') *-- Markieren einschalten ? ddeExecute( lh2, '[MarkierungErweitern]') *-- bis zum Ende der Zeile markieren ? ddeExecute( lh2, '[EndeZeile]') *-- und nun den Inhalt der Markierung auslesen ? ddeExecute( lh2, '[BearbeitenTextMarke "Auslesen"]')

13 Wizards & Builders GmbH OLE-Automation Allgemein Vorbemerkungen zum Einsatz von OLE-Automation

14 Wizards & Builders GmbH Was ist OLE ? Client und Server Client und Server Die Registry Die Registry Objektbasiert Objektbasiert Linked Objects Linked Objects Embedded Objects Embedded Objects OLE 2 OLE 2 embedded objects embedded objects in-place-editing in-place-editing

15 Wizards & Builders GmbH OLE Automation Allgemein Application-Objekt Application-Objekt Collections - Child-Objektlisten Collections - Child-Objektlisten Objekte Objekte Eigenschaften Eigenschaften Methoden Methoden Funktionen (bei Application) Funktionen (bei Application) Sprache beachten (bzw. setzen) Sprache beachten (bzw. setzen)

16 Wizards & Builders GmbH OLE-Automation mit WinWord Ansteuerung von WinWord via OLE-Automation aus Microsoft Visual FoxPro

17 Wizards & Builders GmbH Vorgängerversion WinWord 95 Objektmodell von Word Objektmodell von Word nur Word.Basic interaktionsfähig nur Word.Basic interaktionsfähig Befehle von Word Befehle von Word WordBasic WordBasic DateiBeenden DateiBeenden DateiNeu DateiNeu Dialoge (nur lesen, nicht schreiben (!)) Dialoge (nur lesen, nicht schreiben (!)) Sprache beachten für WordBasic (!) Sprache beachten für WordBasic (!)

18 Wizards & Builders GmbH OLE-Automation mit WinWord Objektmodell von WinWord 97 Objektmodell von WinWord 97 Application Application Documents Documents Paragraphs(Absätze) Paragraphs(Absätze) Range(Bereich von Zeichen) Range(Bereich von Zeichen) Chars Chars Dialoge Dialoge

19 Wizards & Builders GmbH Objektmodell von WinWord

20 Wizards & Builders GmbH Alternative WordBasic Für Anwendungen in WinWord 2.0 und WinWord 95: Für Anwendungen in WinWord 2.0 und WinWord 95: CreateObject(Word.Application) CreateObject(Word.Application) oBasic= oApp.WordBasic( ) oBasic= oApp.WordBasic( ) oBasic.FileOpen( ) oBasic.FileOpen( ) oBasic.FilePrint() oBasic.FilePrint() oWord.Quit() oWord.Quit() Hilfe: WrdBasic.hlp Hilfe: WrdBasic.hlp WordBasic immer verfügbar WordBasic immer verfügbar

21 Wizards & Builders GmbH Hinweise zu WinWord Custom Document Properties Custom Document Properties

22 Wizards & Builders GmbH Beispiele mit WinWord Verschiedene Beispiele und Übungen zu WinWord mit Microsoft Visual FoxPro

23 Wizards & Builders GmbH Beispiele mit WinWord An/Abmelden bei Winword An/Abmelden bei Winword Koordinaten einstellen Koordinaten einstellen Dokumente öffnen Dokumente öffnen Formate einstellen Formate einstellen Bereich selektieren/Fonts Bereich selektieren/Fonts Properties, Textmarken Properties, Textmarken Tabellen Tabellen Serienbriefe Serienbriefe Sonstige Funktionen Sonstige Funktionen

24 Wizards & Builders GmbH An/Abmelden bei WinWord *-- Instanzierung einer Word Session oWord= CreateObject( "Word.Application.8") *-- Prüfen ob Instanzierung erfolgreich if isnull(oWord) returnendif *-- Winword beenden oWord.Quit(0)

25 Wizards & Builders GmbH Koordinaten einstellen *-- Sichtbar machen und Koordinaten einstellen oWord.visible=.t. oWord.Left= 380 oWord.Width= 400 oWord.top= 1 oWord.Height= 540 *-- ggf. Visual FoxPro wegschalten _screen.visible =.F.

26 Wizards & Builders GmbH Dokumente öffnen *-- bestehendes Dokument öffnen owDok= oWord.Documents.open( dokument") owDok.Close() *-- neues Dokument mit Standardvorlage erstellen owDok= oWord.Documents.Add() owDok.Close() *-- neues Dokument mit Vorlage erstellen owDok= oWord.Documents.Add( "Word97.dot") owDok.Close()

27 Wizards & Builders GmbH Formate einstellen *-- Format und Seitenränder des Dokuments setzen with owDok.PageSetup.Papersize= 7&& A4.Orientation= 0&& Portrait *-- Seitenränder in Punkten angeben.LeftMargin=oWord.CentimetersToPoints( 2.5 ).RightMargin=oWord.CentimetersToPoints( 2 ).TopMargin=oWord.CentimetersToPoints( 2.5 ).BottomMargin=oWord.CentimetersToPoints( 2 ) endwith

28 Wizards & Builders GmbH Bereiche selektieren *-- Bereich selektieren, Text einfügen oRange= owDok.Range oRange.InsertBefore("Hallo Teilnehmer") *-- Font für selektierten Bereich einstellen With oRange.Font.Bold =.t..Bold =.t..Name = "Arial".Name = "Arial".Size = 24.Size = 24EndWith

29 Wizards & Builders GmbH Properties, Textmarken * Properties.Add(Name,LinkToContent,Type,Value,LinkSource) *-- Suchen mit Schleife über Count, Exits gibt es nicht =owDok.CustomDocumentProperties.Add( "Name",.f.,4, ) =owDok.CustomDocumentProperties.Add( "VName",.f.,4,VName) *-- Textmarken lcTextMarke= "Adresse" owDok.Bookmarks.Add( lcTextmarke, oRange) if owDok.Bookmarks.Exists( lcTextmarke) owDok.Bookmarks( lcTextmarke ).Select owDok.Bookmarks( lcTextmarke ).Selectendif

30 Wizards & Builders GmbH Tabellen (1) *-- Eine Tabelle mit 3 Spalten und 5 Zeilen hinzufügen oTable= owDok.Tables.add( oRange, 5, 3) *-- Die Spaltenbreiten festlegen oTable.Columns(1).Width= oWord.CentimetersToPoints( 8) oTable.Columns(2).Width= oWord.CentimetersToPoints( 2) oTable.Columns(3).Width= oWord.CentimetersToPoints( 6) *-- Zeilenhöhe der Tabelle einstellen lnHeight= oWord.CentimetersToPoints( 1) for each oRow in oTable.Rows oRow.Height= lnHeight oRow.HeightRule= 2 && exact endfor

31 Wizards & Builders GmbH Tabellen (2) *-- und nun die Tabelle füllen *-- kann natürlich auch mit Daten einer DBF sein oTable.Cell( 1, 1).Range.Text= W&B GmbH oTable.Cell( 2, 1).Range.Text= Herrn Abb oTable.Cell( 3, 1).Range.Text= Frankfurter Str. 21b oTable.Cell( 5, 1).Range.Text= Kronberg oTable.Cell( 5, 1).Range.Text= Kronberg

32 Wizards & Builders GmbH Serienbrief (1) lcSource= "C:\Projekt\Devcon\Merge.dbf" *OpenDataSource(Name, Format, ConfirmConversions, * ReadOnly, LinkToSource, AddToRecentFiles, ; * PasswordDocument, PasswordTemplate, Revert, * WritePasswordDocument, WritePasswordTemplate, * Connection, SQLStatement, SQLStatement1) with owDok.MailMerge.MainDocumentType = 0&& wdFormLetters.OpenDataSource( lcSource ) endwith * owDok.MailMerge.CreateDataSource( Name, Header) * lcHeader= "Name, Adresse, Postleitzahl, Ort, Land" * owDok.MailMerge.CreateDataSource( lcSource, lcHeader)

33 Wizards & Builders GmbH Serienbrief (2) *-- und nun die Tabelle füllen *-- kann natürlich auch mit Daten einer DBF sein * WDFieldType.WDMergeField= 59 * oTable.Cell( 1, 1).Range.Fields.Add( ; * Range, Type, Text) oRange= oTable.Cell( 1, 1) owDok.Mailmerge.Fields.Add( oRange, "CUST_ID") owDok.MailMerge.Execute() owDok.SaveAs( lcPath+ "Word9703") *-- Und nun das Dokument drucken owDok.PrintOut()&& alternativ PrintPreview()

34 Wizards & Builders GmbH Sonstige Funktionen *-- Datei speichern als =owDok.SaveAs( "meindokument" ) *-- Dokument drucken =owDok.PrintOut()=owDok.PrintPreview()

35 Wizards & Builders GmbH OLE-Automation mit Excel Ansteuerung von Excel via OLE-Automation aus Microsoft Visual FoxPro

36 Wizards & Builders GmbH OLE-Automation mit Excel Excel-Objekte in der Registry: Excel-Objekte in der Registry: Application Application Sheet (Tabelle) Sheet (Tabelle) WorkSpace (Arbeitsbereich) WorkSpace (Arbeitsbereich) VBAModule VBAModule Chart Chart Template (Vorlage) Template (Vorlage) Direkt erzeugbar mit CreateObject( ) Direkt erzeugbar mit CreateObject( )

37 Wizards & Builders GmbH Objektmodell von Excel

38 Wizards & Builders GmbH Hinweise zu Excel =SYS( 3005, 1033/1031) - Sprache =SYS( 3005, 1033/1031) - Sprache Excel.Application.Visible Excel.Application.Visible Excel.InterActive für Anzeigemodus Excel.InterActive für Anzeigemodus Anwender kann nicht eingreifen Anwender kann nicht eingreifen Excel.DisplayAlerts für Fehleranzeige Excel.DisplayAlerts für Fehleranzeige geht bei WinWord leider nicht! geht bei WinWord leider nicht! FOR EACH MemVar IN Group FOR EACH MemVar IN Group

39 Wizards & Builders GmbH Beispiele mit Excel Verschiedene Beispiele und Übungen zu Excel mit Microsoft Visual FoxPro

40 Wizards & Builders GmbH Beispiele mit Excel Anmelden bei Excel Anmelden bei Excel Tabellen anlegen Tabellen anlegen Werte einfügen Werte einfügen Sonstige Funktionen Sonstige Funktionen

41 Wizards & Builders GmbH Anmelden bei Excel =sys( 3005, 1033)&& Sprache Englisch oExcel= createObject( "Excel.Application") if isnull( oExcel) return.f. endif *-- Fenstereinstellungen für Excel, Faktoren beachten oExcel.Top= 0 oExcel.Height= _vfp.height*0.91 oExcel.Left= (_vfp.Width*0.76) +2 oExcel.Width= (sysmetric(1)- _vfp.width)*0.74 *-- Excel anzeigen oExcel.Visible=.T.

42 Wizards & Builders GmbH Tabellen anlegen (1) *-- Anwendereingaben verhindern oExcel.Interactive=.T. *-- Sicherheitsabfragen unterdrücken oExcel.DisplayAlerts=.f. *-- Neue Arbeitsmappen mit nur einer Tabelle erstellen oExcel.SheetsInNewWorkBook= 1 *-- Eine Arbeitsmappe erstellen *-- es müßte eine Tabelle vorhanden sein ? "Anzahl der Arbeitsmappen:", oExcel.Workbooks.count oBook= oExcel.Workbooks.add

43 Wizards & Builders GmbH Tabellen anlegen (2) *-- Eine neue Tabelle hinzufügen ? "Anzahl Tabellen in der Arbeitsmappe:", oBook.Sheets.count oSheet= oBook.Sheets.add ? "Anzahl Tabellen in der Arbeitsmappe:", oBook.Sheets.count *-- Die Tabelle löschen oSheet.delete() ? "Anzahl Tabellen in der Arbeitsmappe:", oBook.Sheets.count oSheet= oBook.Sheets(1)

44 Wizards & Builders GmbH Werte einfügen (1) *-- Nun holen wir uns den Zellbereich von A1 bis A12 oRange= oSheet.Range( "A1:A12") * und nun setzen wir in der Zelle A1 und A2 das Datum oRange.Cells( 1, 1).Value= { } oRange.Cells( 2, 1).Value= { } * Der Autofillbereich über den Bereich von A1 bis A12 oFillTo= oRange oSheet.Range( "A1:A2").Autofill( oFillTo)

45 Wizards & Builders GmbH Werte einfügen (2) *-- Nun den Bereich B1 - B10 mit Formel füllen: die Formel ist relativ oRange= oSheet.Range( "B1:B12") oRange.Formula = "=month( A1)" *-- formatieren von Zellen oRange.NumberFormat= "#,##0.00"&& US-Notation oRange.Font.Bold=.t. *-- Nun den Bereich C1 bis C12 füllen oSheet.Range( "C1:C12").Formula= "=B1* 1.15" oSheet.Range( "C1:C12").Numberformat= "#,##0.0" *-- Und nun das Autoformat laufen lassen oSheet.Range( "A1:C12").Autoformat( 10)

46 Wizards & Builders GmbH Werte einfügen (3) *-- 10 Datensätze in das Clipboard kopieren _vfp.DataToClip( "_cTopTen", 10, 3)&& 3 = Tabs *-- Datensätze in Excel einfügen oExcel.ActiveSheet.Range( "A2").Select&& Zelle A2 oExcel.ActiveSheet.Paste()&& einfügen *-- oExcelCells erhält die Referenz auf den *-- eingefügten Bereich oExcelCells= oExcel.Selection *-- und nun noch ein Autoformat oExcelCells.Autoformat(11) *-- immer zwei Reihen farblich anders

47 Wizards & Builders GmbH Sonstige Funktionen *-- Die aktuelle Arbeitsmappe speichern oExcel.ActiveWorkBook.saveAs( "D_XLS97") *-- Die Summe über die Umsätze der Top 10 * Die erste Zeile enthält die Spaltenköpfe (Feldnamen) ? oExcel.Application.Evaluate( "sum( B2:B11)") *-- Direktes benutzen von Funktionen, auch mit Arrays ? oExcel.evaluate( "fv( 10%, 12, 100)") ? oExcel.evaluate( "correl( {1;2;1},{1.1;1.9;1})")

48 Wizards & Builders GmbH Mailversand mit ActiveX Empfang und Versand von elektronischen Nachrichten mit Microsoft Visual FoxPro

49 Wizards & Builders GmbH Mail und VFP FPW: Workgroup Extensions (seit 93) FPW: Workgroup Extensions (seit 93) FOXMAPI.FLL nicht mehr unter VFP FOXMAPI.FLL nicht mehr unter VFP VFP3: 2 OLE-Container für Messaging VFP3: 2 OLE-Container für Messaging Session Control (für Einloggen) Session Control (für Einloggen) Message Control (für Empfang/Versand) Message Control (für Empfang/Versand) Wahlweise Versand via Outlook Wahlweise Versand via Outlook

50 Wizards & Builders GmbH MAPI Session Control Verwaltung einer Mailsession, Beginn mit Einloggen via Methode SignOn Verwaltung einer Mailsession, Beginn mit Einloggen via Methode SignOn LogonUI- Flag Dialogmaske für Login LogonUI- Flag Dialogmaske für Login NewSession- Flag Neue Exchange-Session NewSession- Flag Neue Exchange-Session Username- String mit Profilname Username- String mit Profilname DownloadMails - Flag für Abgleich (Default.T. !) DownloadMails - Flag für Abgleich (Default.T. !) Rückgabe Session-ID für Message Ctrl! Rückgabe Session-ID für Message Ctrl! Methode SignOff Methode SignOff

51 Wizards & Builders GmbH MAPI Message Control (1) Übertragung der SessionID Übertragung der SessionID Aufruf Fetch()-Methode Aufruf Fetch()-Methode FetchUnreadOnly - Nur ungelesene Messages FetchUnreadOnly - Nur ungelesene Messages FetchSorted - Eingangsreihenfolge oder Benutzerreihenfolge FetchSorted - Eingangsreihenfolge oder Benutzerreihenfolge Anzahl Messages in MsgCount Anzahl Messages in MsgCount Wechseln durch Ändern MsgIndex Wechseln durch Ändern MsgIndex beginnt bei 0, also nur bis MsgCount-1, 0=älteste beginnt bei 0, also nur bis MsgCount-1, 0=älteste

52 Wizards & Builders GmbH MAPI Message Control (2) Eigenschaften MAPI-Message: Eigenschaften MAPI-Message: MsgNoteText- Nachrichtentext MsgNoteText- Nachrichtentext MsgSubject- Betreff MsgSubject- Betreff MsgOrigDisplayName- Absender MsgOrigDisplayName- Absender RecipDisplayName- Collection RecipDisplayName- Collection (RecipCount, RecipIndex) (RecipCount, RecipIndex)

53 Wizards & Builders GmbH MAPI Message Control (3) Anlegen von neuen Nachrichten: Anlegen von neuen Nachrichten: Methode Compose( ) oder Methode Compose( ) oder MsgIndex auf -1 setzen MsgIndex auf -1 setzen Versand mit Send( )-Methode Versand mit Send( )-Methode Attachments sind in einer Collection vorhanden, Anzahl: AttachmentCount Attachments sind in einer Collection vorhanden, Anzahl: AttachmentCount Attachment in AttachmentPathName Attachment in AttachmentPathName

54 Wizards & Builders GmbH OLE-Automation mit Outlook Ansteuerung von MS Outlook via OLE-Automation aus Microsoft Visual FoxPro

55 Wizards & Builders GmbH OLE-Automation mit Outlook Nachfolger von Exchange und Schedule+ Nachfolger von Exchange und Schedule+ via Exchange Server, Office, Outlook via Exchange Server, Office, Outlook Sonderversion Outlook Express für Mail Sonderversion Outlook Express für Mail Dienste werden in Profilen verwaltet Dienste werden in Profilen verwaltet Dienste: Exchange, Internet, Fax, CIS Dienste: Exchange, Internet, Fax, CIS Folder (Ein/Ausgang, Journal, Kontakte, Kalender, Aufgaben, Notizen) Folder (Ein/Ausgang, Journal, Kontakte, Kalender, Aufgaben, Notizen)

56 Wizards & Builders GmbH Objektmodell von Outlook (1) Wird bei Visual Modeler als UML mitgeliefert (VM in Visual Studio) Wird bei Visual Modeler als UML mitgeliefert (VM in Visual Studio) Ziemlich komplexes Modell Ziemlich komplexes Modell Kenntnisse der Struktur sind notwendig um Outlook anzusteuern Kenntnisse der Struktur sind notwendig um Outlook anzusteuern Hilfe bei Office (extra installieren) Hilfe bei Office (extra installieren)

57 Wizards & Builders GmbH Objektmodell von Outlook (2)

58 Wizards & Builders GmbH Zugriff auf Outlook = Getobject(, Outlook.Application) = Getobject(, Outlook.Application) = Createobject(Outlook.Application) = Createobject(Outlook.Application) NameSpace-Objekt (MAPI / Notes) NameSpace-Objekt (MAPI / Notes) Login Login CreateItem CreateItem Hilfe in VBAOUTL.HLP Hilfe in VBAOUTL.HLP

59 Wizards & Builders GmbH Beispiele mit Outlook Verschiedene Beispiele und Übungen zu Outlook mit Microsoft Visual FoxPro

60 Wizards & Builders GmbH Outlook-Beispiele An/Abmelden bei Outlook An/Abmelden bei Outlook Zugriff auf Outlook Zugriff auf Outlook Bereichseingrenzung Bereichseingrenzung Eintrag in das Journal Eintrag in das Journal Anlegen eines Termins Anlegen eines Termins Anlegen eines Kontakts Anlegen eines Kontakts Outlook-Konstanten Outlook-Konstanten

61 Wizards & Builders GmbH An/Abmelden bei Outlook Anmelden bei Outlook Anmelden bei Outlook oOutlook= createobject( "Outlook.Application") oSession=.oOutLook.GetNameSpace("MAPI") oSession.LogOn( alltrim( ),,.t.) Abmelden bei Outlook Abmelden bei Outlook=oSession.logoff()=oOutlook.quit()

62 Wizards & Builders GmbH Zugriff auf Outlook *-- Zugriff Journal *-- Zugriff Journal oJournal = oSession.GetDefaultFolder(11) *-- Zugriff Termine *-- Zugriff Termine oKontakte = oSession.GetDefaultFolder(9) *-- Zugriff Kontakte *-- Zugriff Kontakte oKontakte = oSession.getdefaultfolder(10)

63 Wizards & Builders GmbH Bereichseingrenzung Bereichseingrenzung Beispiel Journal Bereichseingrenzung Beispiel Journal LOCAL lcRange, ldVon, ldBis lcRange= '[Kategorien]= '+ ; alltrim( " " ) + " ' lcRange= '[Start] >= "'+ dtoc( ldVon)+ '" ' lcRange= '[Start] <= "'+ dtoc( ldBis)+ '" ' oItems= oJournal.Items.restrict( lcRange ) Schleife über Journaleinträge Schleife über Journaleinträge for each oItem in oItems.. next

64 Wizards & Builders GmbH Anlegen Journaleintrag *-- Anlegen Eintrag Journal local loItem loItem = oOutlook.createitem(4) *-- Werzuweisung loItem.Subject = loItem.Categories = loItem.Subject = loItem.Categories = loItem.Start= loitem.End = loItem.Start= loitem.End = loItem.Duration = loitem.Body = loItem.Duration = loitem.Body = loItem.ContactNames = loitem.Type = loItem.ContactNames = loitem.Type = loItem.Companies = loItem.Companies = *-- Speichern loItem.Save()

65 Wizards & Builders GmbH Anlegen Termin *-- Anlegen Eintrag Termin local loTermin loTermin = oOutlook.createitem(1) *-- Werzuweisung loTermin.Subject= loTermin.Subject= loTermin.Start= loTermin.Start= loTermin.End = loTermin.End = loTermin.Body= loTermin.Body= *-- Speichern loTermin.save()

66 Wizards & Builders GmbH Anlegen Kontakt *-- Anlegen Eintrag Termin local loAdresse loAdresse = oOutlook.createitem(2) *-- Wertzuweisung loAdresse.LastName = loAdresse.LastName = loAdresse.FirstName= loAdresse.FirstName= loAdresse. 1Address = loAdresse. 1Address = loAdresse.BusinessFaxNumber = loAdresse.BusinessFaxNumber = *-- Speichern loAdresse.save()

67 Wizards & Builders GmbH Outlook-Konstanten OlDefaultFolder OlDefaultFolder * ConstantValue #defineolFolderDeletedItems 3 #define olFolderOutbox4 #define olFolderSentMail5 #define olFolderInbox6 #define olFolderCalendar9 #define olFolderContacts10 #define olFolderJournal11 #define olFolderNotes12 #define olFolderTasks13 OlItems OlItems * ConstantValue #define olMailItem0 #define olAppointmentItem 1 #define olContactItem2 #define olTaskItem3 #define olJournalItem4 #define olNoteItem5 #define olPostItem6 Hinweis: Komplette Konstanten im Notizblatt zu dieser Seite Hinweis: Komplette Konstanten im Notizblatt zu dieser Seite

68 Wizards & Builders GmbH OLE-Automation mit Project Ansteuerung von Project via OLE-Automation aus Microsoft Visual FoxPro

69 Wizards & Builders GmbH OLE-Automation mit Project Application Resource Assignment Calendar Task Assignment Calendar List Window Pane Cell Resource Task Selection Resource Task List Object only Object and Collection Legend Project Resource Task

70 Wizards & Builders GmbH OLE-Automation mit SQL-Server Ansteuerung von MS SQL-Server via OLE-Automation aus Microsoft Visual FoxPro

71 Wizards & Builders GmbH OLE-Automation mit SQL-Server Noch in Vorbereitung Noch in Vorbereitung

72 Wizards & Builders GmbH OLE-Automation mit Access Ansteuerung von MS Access via OLE-Automation aus Microsoft Visual FoxPro

73 Wizards & Builders GmbH OLE-Automation mit Access Noch in Vorbereitung Noch in Vorbereitung

74 Wizards & Builders GmbH Visual FoxPro als OLE-Server Kurze Übersicht über die OLE- Server-Funktionen von Microsoft Visual FoxPro

75 Wizards & Builders GmbH Aufrufbare Funktionen Fernsteuerung: FoxDoCmd FoxDoCmd FoxEval FoxEval SetErrMode SetErrMode SetOLEObj SetOLEObj CloseIt CloseIt GetLastError GetLastError

76 Wizards & Builders GmbH Remote OLE Automation Remote OLE-Automation aus Microsoft Visual FoxPro

77 Wizards & Builders GmbH Remote OLE Automation Registry Eintragung Registry Eintragung Remote Automation Connection Manager Remote Automation Connection Manager Erst ab VFP 6.0 sinnvoll... Erst ab VFP 6.0 sinnvoll...

78 Wizards & Builders GmbH Zusammenfassung Objektmodell wichtig! Objektmodell wichtig! Automation erlaubt Einbin- dung von Office Automation erlaubt Einbin- dung von Office Outlook einfach Outlook einfach Remote Automation Remote Automation

79 Wizards & Builders GmbH Vielen Dank! Das waren die Themen: DDE-Funktionsübersicht DDE-Funktionsübersicht OLE-Automation mit MS WinWord OLE-Automation mit MS WinWord OLE-Automation mit MS Excel OLE-Automation mit MS Excel MAPI und VFP MAPI und VFP OLE-Automation mit MS Outlook OLE-Automation mit MS Outlook OLE-Automation mit MS Project OLE-Automation mit MS Project OLE-Automation mit MS SQL-Server OLE-Automation mit MS SQL-Server OLE-Automation mit MS Access OLE-Automation mit MS Access FPOLE.DLL-Funktionsübersicht FPOLE.DLL-Funktionsübersicht Aufrufbeispiel in WordBasic Aufrufbeispiel in WordBasic Remote OLE-Automation Remote OLE-Automation

80 Wizards & Builders GmbH Wenn Fragen bestehen: Wizards & Builders Methodische Software- Entwicklung GmbH Frankfurter Str. 21b Kronberg Tel.: Fax: CIS: ,175


Herunterladen ppt "Wizards & Builders GmbH Arbeiten mit DDE- und OLE DDE- und OLE-Funktionen und Einsatz als OLE-Server von Microsoft Visual FoxPro."

Ähnliche Präsentationen


Google-Anzeigen