Arbeiten mit DDE- und OLE

Slides:



Advertisements
Ähnliche Präsentationen
Support.ebsco.com Lernprogramm zum Erstellen einer lokalen Sammlung.
Advertisements

Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
MySQL.
Objektorientierung mit VBA
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Grundlagen im Bereich der Tabellenkalkulation
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Einführung in Visual C++
Einführung MySQL mit PHP
Wizards & Builders GmbH ActiveX-Controls Verwendung und Einsatz von ActiveX-Controls unter Microsoft Visual FoxPro.
Erstellen von OLE-Servern
Wizards & Builders GmbH Microsoft Titel Microsoft-Titel für Entwickler und Softwarehäuser.
Wizards & Builders GmbH Klassenbibliotheken Arbeiten mit Klassenbibliotheken in Microsoft Visual FoxPro.
Wizards & Builders GmbH Die Benutzeroberfläche Interaktives Arbeiten mit den Werkzeugen/Assistenten von Microsoft Visual FoxPro.
Wizards & Builders GmbH Projektmanager und SourceSafe Arbeiten mit dem Projektmanager von Microsoft Visual FoxPro.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Arbeiten mit CSV-Listen Arbeiten mit CSV-Listen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH OOP in der Praxis Die wichtigsten Befehle für OO-Programmierung mit Microsoft Visual FoxPro.
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Schulungsmaterial Material zu Programmierung und Datenbankhandling unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Tools, AddOns, Frameworks Nützliche Zusatzprodukte rund um Microsoft Visual FoxPro.
Wizards & Builders GmbH Distribution von Applikationen Distribution und Installation unter Microsoft Visual FoxPro.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Handling und Erstellung von: DLL, EXE, COM, DCOM
OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Neue DBF und DBC Befehle in Visual FoxPro
Uwe Habermann Integration der DBI Controls aus Sedna in Visual Extend Venelina Jordanova
Grids - Datenblatt in Visual FoxPro
Erstellen von COM-Servern in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow COM.
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Erstellen von WebServices mit Visual FoxPro 9.0
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Visual Extend Weitere Features deutschsprachige FoxPro User Group Uwe Habermann VFX 25 D.
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
Uwe Habermann VFX 11.0 Profi Features Venelina Jordanova
Uwe Habermann Venelina Jordanova VFX – Silverlight Wizard.
Internet-Datenbanken und ASP Eine Einführung von J.Sommer & A.Vortisch.
Uwe Habermann D-DBI Integration der DBI Controls aus Sedna in VFP am Beispiel von Visual Extend.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
-Ordner anlegen Gesendete und empfangene s können nach Themengebieten in verschiedenen Ordnern verwaltet werden. Ordner anlegen DATEI - ORDNER.
Kostenlose Alternative zu Microsoft Office
Was macht eigentlich dieses ExsoForm? Ein Beispiel für eine Dokumentendefinition in Screenshots.
13. Grundlagen des Seriendrucks
Tabellen erstellen und aufbereiten
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend Application Wizard deutschsprachige FoxPro User Group Uwe Habermann VFX 06 D.
11. Kontakte in Word verwenden1 Word-Dokumente an Kontakte erstellen l Kontakt markieren l AKTIONEN - NEUER BRIEF AN KONTAKT l Einstellungen im Dialogfenster.
Der Funktionsassistent
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Anfängerkurs. Komponenten Microsoft Word 2003 Microsoft Excel 2003 Microsoft PowerPoint 2003 Microsoft Outlook 2003.
Oliver Spritzendorfer Thomas Fekete
Herbers Excel-Server - der Workshop
Office in Java 2. Info-Point Urs Frei.
Funktionen für die Teamarbeit
ICT – Modul Textverarbeitung
Zero Administration Kit für Microsoft® Windows® Jörg Kramer University Support Center.
Project Hooks und _VFP Möglichkeiten. © 1999 TMN-Systemberatung GmbH Aufbau des Objekt Modells für Applications und Projects.
Die einfachste Variante! Anlegen, ausfüllen und senden !
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Computeria Wallisellen
Tabellen in Word for Windowscomputeria, Urdorf Tabellen in Word for Windows computeria Urdorf / Dieter Eckstein.
Verknüpfung von Tabellen
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Förderverein Bürgernetz München Land e.V. Seite 1 von 16 Textverarbeitung-2016_06 © 2016–Günther Scheckeler Tel.: Inhalt 1 Bestandteile eines.
D-VFXL Late Night VFX Anwendertreffen
Was kann oder bietet Outlook XP
 Präsentation transkript:

Arbeiten mit DDE- und OLE DDE- und OLE-Funktionen und Einsatz als OLE-Server von Microsoft Visual FoxPro

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

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

Office Automation und Möglichkeiten der Anbindung von Software

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

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

Kurze Übersicht über die DDE-Funktionen von Microsoft Visual FoxPro

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

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 return endif =ddeTerminate( lhWord)

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

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) return endif

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"]')

OLE-Automation Allgemein Vorbemerkungen zum Einsatz von OLE-Automation

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

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

OLE-Automation mit WinWord Ansteuerung von WinWord via OLE-Automation aus Microsoft Visual FoxPro

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

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

Objektmodell von WinWord

Alternative WordBasic Für Anwendungen in WinWord 2.0 und WinWord 95: CreateObject(“Word.Application”) oBasic= oApp.WordBasic( <Befehl>) oBasic.FileOpen( <Pfad>) oBasic.FilePrint() oWord.Quit() Hilfe: WrdBasic.hlp WordBasic immer verfügbar

Hinweise zu WinWord Custom Document Properties

Beispiele mit WinWord Verschiedene Beispiele und Übungen zu WinWord mit Microsoft Visual FoxPro

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

An/Abmelden bei WinWord *-- Instanzierung einer Word Session oWord= CreateObject( "Word.Application.8") *-- Prüfen ob Instanzierung erfolgreich if isnull(oWord) return endif *-- Winword beenden oWord.Quit(0)

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.

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

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

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. .Name = "Arial" .Size = 24 EndWith

Properties, Textmarken * Properties.Add(Name,LinkToContent,Type,Value,LinkSource) *-- Suchen mit Schleife über Count, Exits gibt es nicht =owDok.CustomDocumentProperties.Add( "Name",.f.,4,“<Name>“ ) =owDok.CustomDocumentProperties.Add( "VName",.f.,4,“VName“) *-- Textmarken lcTextMarke= "Adresse" owDok.Bookmarks.Add( lcTextmarke, oRange) if owDok.Bookmarks.Exists( lcTextmarke) owDok.Bookmarks( lcTextmarke ).Select endif

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

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= “61476 Kronberg “

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)

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()

Sonstige Funktionen *-- Datei speichern als =owDok.SaveAs( "meindokument" ) *-- Dokument drucken =owDok.PrintOut() =owDok.PrintPreview()

OLE-Automation mit Excel Ansteuerung von Excel via OLE-Automation aus Microsoft Visual FoxPro

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

Objektmodell von Excel

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

Beispiele mit Excel Verschiedene Beispiele und Übungen zu Excel mit Microsoft Visual FoxPro

Beispiele mit Excel Anmelden bei Excel Tabellen anlegen Werte einfügen Sonstige Funktionen

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.

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

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

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= {01.01.97} oRange.Cells( 2, 1).Value= {01.02.97} * Der Autofillbereich über den Bereich von A1 bis A12 oFillTo= oRange oSheet.Range( "A1:A2").Autofill( oFillTo)

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)

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

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})")

Mailversand mit ActiveX Empfang und Versand von elektronischen Nachrichten mit Microsoft Visual FoxPro

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

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

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

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

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

OLE-Automation mit Outlook Ansteuerung von MS Outlook via OLE-Automation aus Microsoft Visual FoxPro

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

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

Objektmodell von Outlook (2)

Zugriff auf Outlook = Getobject(„“, „Outlook.Application“) = Createobject(„Outlook.Application“) NameSpace-Objekt („MAPI“ / „Notes“) Login CreateItem Hilfe in VBAOUTL.HLP

Beispiele mit Outlook Verschiedene Beispiele und Übungen zu Outlook mit Microsoft Visual FoxPro

Outlook-Beispiele An/Abmelden bei Outlook Zugriff auf Outlook Bereichseingrenzung Eintrag in das Journal Anlegen eines Termins Anlegen eines Kontakts Outlook-Konstanten

An/Abmelden bei Outlook Anmelden bei Outlook oOutlook= createobject( "Outlook.Application") oSession= .oOutLook.GetNameSpace("MAPI") oSession.LogOn( alltrim( <lcProfile> ), , .t.) Abmelden bei Outlook =oSession.logoff() =oOutlook.quit()

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

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

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

Anlegen Termin *-- Anlegen Eintrag Termin local loTermin loTermin = oOutlook.createitem(1) *-- Werzuweisung loTermin.Subject = <Titel> loTermin.Start = <Datum Zeit> loTermin.End = <Datum Zeit> loTermin.Body = <Text> *-- Speichern loTermin.save()

Anlegen Kontakt *-- Anlegen Eintrag Termin local loAdresse loAdresse = oOutlook.createitem(2) *-- Wertzuweisung loAdresse.LastName = <Name> loAdresse.FirstName = <Vorname> loAdresse.EMail1Address = <eMail> loAdresse.BusinessFaxNumber = <Fax> *-- Speichern loAdresse.save()

Outlook-Konstanten OlDefaultFolder OlItems * Constant Value #define olFolderDeletedItems 3 #define olFolderOutbox 4 #define olFolderSentMail 5 #define olFolderInbox 6 #define olFolderCalendar 9 #define olFolderContacts 10 #define olFolderJournal 11 #define olFolderNotes 12 #define olFolderTasks 13 OlItems * Constant Value #define olMailItem 0 #define olAppointmentItem 1 #define olContactItem 2 #define olTaskItem 3 #define olJournalItem 4 #define olNoteItem 5 #define olPostItem 6 Hinweis: Komplette Konstanten im Notizblatt zu dieser Seite * OlActionCopyLike * Constant Value #define olReply 0 #define olReplyAll 1 #define olForward 2 #define olReplyFolder 3 #define olRespond 4 * OlActionReplyStyle * Constant Value #define olOmitOriginalText 0 #define olEmbedOriginalItem 1 #define olIncludeOriginalText 2 #define olIndentOriginalText 3 * OlActionResponseStyle #define olOpen 0 #define olSend 1 #define olPrompt 2 * OlActionShowOn #define olDontShow 0 #define olMenu 1 #define olMenuAndToolbar 2 * OlAttachmentType #define olByValue 1 #define olByReference 4 #define olEmbeddedItem 5 #define olOLE 6 * OlBusyStatus #define olFree 0 #define olTentative 1 #define olBusy 2 #define olOutOfOffice 3 * OlDaysOfWeek #define olSunday 1 #define olMonday 2 #define olTuesday 4 #define olWednesday 8 #define olThursday 16 #define olFriday 32 #define olSaturday 64 * OlDefaultFolders #define olFolderDeletedItems 3 #define olFolderOutbox 4 #define olFolderSentMail 5 #define olFolderInbox 6 #define olFolderCalendar 9 #define olFolderContacts 10 #define olFolderJournal 11 #define olFolderNotes 12 #define olFolderTasks 13 * OlFlagStatus #define olNoFlag 0 #define olFlagComplete 1 #define olFlagMarked 2 * OlFolderDisplayMode * Constant Value #define olFolderDisplayNormal 0 #define olFolderDisplayFolderOnly 1 #define olFolderDisplayNoNavigation 2 * OlFormRegistry #define olDefaultRegistry 0 #define olPersonalRegistry 2 #define olFolderRegistry 3 #define olOrganizationRegistry 4 * OlGender #define olUnspecified 0 #define olFemale 1 #define olMale 2 * OlImportance #define olImportanceLow 0 #define olImportanceNormal 1 #define olImportanceHigh 2 * OlInspectorClose #define olSave 0 #define olDiscard 1 #define olPromptForSave 2 * OlItems #define olMailItem 0 #define olAppointmentItem 1 #define olContactItem 2 #define olTaskItem 3 #define olJournalItem 4 #define olNoteItem 5 #define olPostItem 6 * OlJournalRecipientType #define olAssociatedContact 1 * OlMailingAddress * Constant Value #define olNone 0 #define olHome 1 #define olBusiness 2 #define olOther 3 * OlMailRecipientType #define olOriginator 0 #define olTo 1 #define olCC 2 #define olBCC 3 * OlMeetingRecipientType #define olOrganizer 0 #define olRequired 1 #define olOptional 2 #define olResource 3 * OlMeetingResponse #define olMeetingTentative 2 #define olMeetingAccepted 3 #define olMeetingDeclined 4 * OlMeetingStatus #define olNonMeeting 0 #define olMeeting 1 #define olMeetingReceived 3 #define olMeetingCanceled 5 * OlNoteColor #define olBlue 0 #define olGreen 1 #define olPink 2 #define olYellow 3 #define olWhite 4 * OlRecurrenceType #define olRecursDaily 0 #define olRecursWeekly 1 #define olRecursMonthly 2 #define olRecursMonthNth 3 #define olRecursYearly 5 #define olRecursYearNth 6 * OlRemoteStatus #define olRemoteStatusNone 0 #define olUnMarked 1 #define olMarkedForDownload 2 #define olMarkedForCopy 3 #define olMarkedForDelete 4 * OlResponseStatus #define olResponseNone 0 #define olResponseOrganized 1 #define olResponseTentative 2 #define olResponseAccepted 3 #define olResponseDeclined 4 #define olResponseNotResponded 5 * OlSaveAsType #define olTXT 0 #define olRTF 1 #define olTemplate 2 #define olMSG 3 #define olDoc 4 * OlSensitivity #define olNormal 0 #define olPersonal 1 #define olPrivate 2 #define olConfidential 3 * OlTaskDelegationState #define olTaskNotDelegated 0 #define olTaskDelegationUnknown 1 #define olTaskDelegationAccepted 2 #define olTaskDelegationDeclined 3 * OlTaskOwnership #define olNewTask 0 #define olDelegatedTask 1 #define olOwnTask 2 * OlTaskRecipientType #define olUpdate 1 #define olFinalStatus 2 * OlTaskResponse #define olTaskSimple 0 #define olTaskAssign 1 #define olTaskAccept 2 #define olTaskDecline 3 * OlTaskStatus #define olTaskNotStarted 0 #define olTaskInProgress 1 #define olTaskComplete 2 #define olTaskWaiting 3 #define olTaskDeferred 4 * OlTrackingStatus #define olTrackingNone 0 #define olTrackingDelivered 1 #define olTrackingNotDelivered 2 #define olTrackingNotRead 3 #define olTrackingRecallFailure 4 #define olTrackingRecallSuccess 5 #define olTrackingRead 6 #define olTrackingReplied 7 * OlUserPropertyType #define olText 1 #define olNumber 3 #define olDateTime 5 #define olYesNo 6 #define olDuration 7 #define olKeywords 11 #define olPercent 12 #define olCurrency 14 #define olFormula 18 #define olCombination 19

OLE-Automation mit Project Ansteuerung von Project via OLE-Automation aus Microsoft Visual FoxPro

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

OLE-Automation mit SQL-Server Ansteuerung von MS SQL-Server via OLE-Automation aus Microsoft Visual FoxPro

OLE-Automation mit SQL-Server Noch in Vorbereitung

OLE-Automation mit Access Ansteuerung von MS Access via OLE-Automation aus Microsoft Visual FoxPro

OLE-Automation mit Access Noch in Vorbereitung

Visual FoxPro als OLE-Server Kurze Übersicht über die OLE-Server-Funktionen von Microsoft Visual FoxPro

Aufrufbare Funktionen Fernsteuerung: FoxDoCmd FoxEval SetErrMode SetOLEObj CloseIt GetLastError

Remote OLE-Automation aus Microsoft Visual FoxPro

Remote OLE Automation Registry Eintragung Remote Automation Connection Manager Erst ab VFP 6.0 sinnvoll...

Zusammenfassung Objektmodell wichtig! Automation erlaubt Einbin-dung von Office Outlook einfach Remote Automation

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

Wenn Fragen bestehen: Wizards & Builders Frankfurter Str. 21b Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175