Office-Automation

Beispiele zu Access, Word, Excel, Powerpoint, Outlook, Sammelmappe
Automation ist eine "Component Object Model"-Funktion, eine Technologie, die von Anwendungen verwendet
wird, um ihre Objekte an Entwicklungshilfsmittel, Makro-Programmiersprachen und weitere Anwendungen
freizugeben, um Automation zu unterstützen. Z. B. könnte eine Tabellenkalkulations-Anwendung ein
Tabellenblatt, ein Diagramm, eine Zelle oder einen Zellbereich freigeben, wobei diese als unabhängige Objekte
behandelt werden. Ein Textverarbeitungsprogramm könnte Objekte wie ein Programm, Dokument, Absatz, Satz,
Textmarke oder eine getroffene Auswahl freigeben. Das folgende Beispiel veranschaulicht die Automatisierung
von Vorgängen zwischen Microsoft Excel und anderen Microsoft-Anwendungen. Verweise auf die
entsprechenden Objektbibliotheken müssen in VBE erstellt werden (Menü 'Extras', 'Verweise...').
MICROSOFT ACCESS
Dieses Beispiel liefert den Speicherort der Microsoft Access-Datenbankbeispiele. Erstellen Sie zuerst einen
Verweis auf die 'Microsoft Access 8.0 Object Library' in VBE (Menü 'Extras', 'Verweise...').
Sub MS_Access()
Dim AccDir As String
Dim acc As Object
    'Microsoft Access-Verbindung herstellen
    Set acc = CreateObject("access.application")
    'Gibt den Pfad für msaccess.exe zurück
    AccDir = acc.SysCmd(Action:=acSysCmdAccessDir)
    'Pfad anzeigen
    MsgBox "MSAccess.exe befindet sich in " & AccDir
    'Speicherplatz für Variable freigeben
    Set acc = Nothing
End Sub
MICROSOFT WORD
Dieses Beispiel kopiert ein Diagramm von dem Tabellenblatt 'Diagrammbeschriftung' in ein neues Word-
Dokument. Erstellen Sie zuerst einen Verweis auf die 'Microsoft Word 8.0 Object Library' in VBE (Menü Extras,
Verweise...).
Sub MS_Word()
Dim wd As Object
    'Microsoft Word-Sitzung erstellen
    Set wd = CreateObject("word.application")
    'Diagramm in der Tabelle "Diagrammbeschriftung" kopieren
    Worksheets("Diagrammbeschriftung").ChartObjects(1).Chart.ChartArea.Copy
    'Dokument anzeigen
    wd.Visible = True
    'Microsoft Word aktivieren
    AppActivate wd.Name
    With wd
        'Neues Dokument in Microsoft Word erstellen
        .Documents.Add
        'Absatz einfügen
        .Selection.TypeParagraph
        'Diagramm einfügen
        .Selection.PasteSpecial link:=True, DisplayAsIcon:=False, Placement:=wdInLine
    End With
    Set wd = Nothing
End Sub
MICROSOFT POWERPOINT
Dieses Beispiel kopiert ein Diagramm von dem Tabellenblatt 'Diagrammbeschriftung' in eine neue PowerPoint-
Präsentation. Erstellen Sie zuerst einen Verweis auf die 'Microsoft PowerPoint 8.0 Object Library' in VBE
(Menü 'Extras', 'Verweise...').
Sub MS_PowerPoint()
Dim ppt As Object, pres As Object
    'Microsoft PowerPoint-Sitzung erstellen
    Set ppt = CreateObject("powerpoint.application")
    'Diagramm in der Tabelle "Diagrammbeschriftung" kopieren
    Worksheets("Diagrammbeschriftung").ChartObjects(1).Copy
    'PowerPoint aktivieren
    ppt.Visible = True
    'PowerPoint aktivieren
    AppActivate ppt.Name
    'Neues Dokument in Microsoft PowerPoint öffnen
    Set pres = ppt.Presentations.Add
    'Folie hinzufügen
    pres.Slides.Add 1, ppLayoutBlank
    'Diagramm einfügen
    ppt.ActiveWindow.View.Paste
    Set ppt = Nothing
End Sub
MICROSOFT OUTLOOK
Dieses Beispiel erstellt einen neuen Outlook-Vorgang und fügt ihm Informationen  hinzu. Starten Sie Outlook,
und klicken Sie auf die Schaltfläche 'Vorgänge', um den neuen Vorgang anzuschauen. HINWEIS: Es können
wenige Minuten vergehen, bevor der neue Vorgang angezeigt wird.
Sub MS_Outlook()
Dim ol As Object, myItem As Object
    'Microsoft Outlook-Sitzung erstellen
    Set ol = CreateObject("outlook.application")
    'Vorgang erstellen
    Set myItem = ol.CreateItem(olTaskItem)
    'Informationen dem neuen Vorgang hinzufügen
    With myItem
        .Subject = "Neue VBA-Aufgabe"
        .Body = "Dieser Vorgang wurde über 'Automation' durch Microsoft Excel erstellt"
        .NoAging = True
        .Close (olSave)
    End With
    'Objekt aus Arbeitsspeicher entfernen
    Set ol = Nothing
End Sub
MICROSOFT SAMMELMAPPE
Dieses Beispiel erstellt eine neue Microsoft Sammelmappe-Datei, fügt Abschnitte hinzu, manipuliert den Excel-
Abschnitt und speichert die Datei. Erstellen Sie zuerst einen Verweis auf die 'Microsoft Binder 8.0 Objektbibliothek'
in VBE (Menü 'Extras').
Sub MS_Binder()
Dim MyBinder As Object, NewSection As Object
Dim MyVar As String, MyFile As String
    'Microsoft Office Sammelmappe-Sitzung erstellen
    Set MyBinder = CreateObject("office.binder")
    'Sammelmappe-Sitzung anzeigen
    MyBinder.Visible = True
    'Neue Word-Sitzung hinzufügen
    MyBinder.Sections.Add Type:="word.document"
    'Bestehende Excel-Datei vor der ersten Sitzung hinzufügen.
    'Nachstehenden Pfad falls notwendig ändern:
    MyFile = Application.Path & "\Beispiel\Solver\Solvermp.xls"
    Set NewSection = MyBinder.Sections.Add(FileName:=MyFile, Before:=1)
    With NewSection
        'Name für den Abschnitt ändern
        .Name = "Solver-Beispiele"
        'Auf den Wert in Zelle A2 im dritten Tabellenblatt der Arbeitsmappe zugreifen
        MyVar = .Object.Worksheets(3).Range("A2").Value
    End With
    'Sammelmappe unter mybinder.obd speichern (falls notwendig, bestehende Datei überschreiben)
    MyBinder.SaveAs Application.Path & "\mybinder.obd", bindOverwriteExisting
    'Sammelmappe ausblenden
    MyBinder.Visible = False
    'Verbindung zum Objekt aufheben und Ressource freigeben
    Set MyBinder = Nothing
    'Zeigt den Wert von Zelle A2 des dritten Tabellenblatts im Excel-Abschnitt an
    MsgBox "Die folgenden Daten stammen von der Zelle A2 im Solver Samples-Abschnitt." & Chr(10) & Chr(10) & MyVar
End Sub

 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info