2017-08-14 4 views
1

Wir verwenden den Outlook-Kalender, um die Zimmerbuchungen in unserem lokalen Gemeindezentrum zu verfolgen. Für jeden Kalendertermin/Raumbuchung fügen wir ein Objekt aus der Datei ein (eine Excel-Tabelle). Der Tabellen- und Dateipfad ist für jede Buchung gleich. ScreenshotVBA-Makro zum Einbetten von OLEobject in eine Outlook-Terminserie

enter image description here

Ich möchte mit einem Makro-Einbettung dieser Tabelle vereinfachen. Leider erlaubt es mir Outlook nicht, eine aufzunehmen, also versuche ich, es mit VBA zu scribbeln. Ich habe versucht, das Makro in Word aufgezeichnet, um zu sehen, ob es nach Outlook kopieren würde (es ist nicht - Objektvariable nicht festgelegt). Der generierte Code von Word war

Selection.InlineShapes.AddOLEObject ClassType:= _ 
    "Excel.SheetMacroEnabled.12", FileName:= _ 
    "K:\OutlookCalendar.xlsm" _ 
    , LinkToFile:=False, DisplayAsIcon:=False 

Ich glaube, ich brauche DIMs angeben, aber ich bin aus meiner Tiefe bekommen, und ich habe nicht in der Lage gewesen, so weit eine Google-Lösung zu finden. Könnte mir bitte jemand in die richtige Richtung zeigen?

+0

Siehe Beispiel https://Stackoverflow.com/a/44599739/4539709 – 0m3r

Antwort

0

Sie zuerst einen Verweis auf die "Microsoft Word x.0 Object Library" so Outlook die Objekte von Word verwendet, erkennen kann - Click Tools/References

Jetzt Um Ihre aufgezeichneten Makro in Outlook zu verwenden, Sie müssen eine Variable auf das Objekt Objekt Selection setzen.

Beispiel

Option Explicit 
Public Sub UseWord() 
    Dim Inspector As Outlook.Inspector 
    Dim wdDoc As Word.Document 
    Dim Selection As Word.Selection 

    Set Inspector = Application.ActiveInspector() 
    Set wdDoc = Inspector.WordEditor 
    Set Selection = wdDoc.Application.Selection 

    '-> And insert your recorded macro here 

End Sub 

IDE Werkzeuge/Referenzen

enter image description here

+1

Hervorragend, danke - es funktioniert gut. Der erste Schritt beim Setzen der Referenz hat mich fast umgehauen - ich habe länger damit verbracht, zuzugeben, dass ich versucht habe, in Ihrem Beitrag auf Tools/Reference zu klicken! (Für diejenigen wie mich - klicken Sie im VBA-Fenster auf Tools> Referenz und stellen Sie sicher, dass Microsoft Word x.0 Object Library ausgewählt ist) – Rob

Verwandte Themen