将OLEobject嵌入到Outlook预约系列中的VBA宏
问题描述:
我们使用Outlook日历跟踪我们当地社区中心的预订情况。对于每个日历约会/房间预订,我们从文件(Excel电子表格)中插入一个对象。电子表格和文件路径对于每个预订都是相同的。 Screenshot将OLEobject嵌入到Outlook预约系列中的VBA宏
我想简化嵌入该电子表格的宏。不幸的是,Outlook不允许我录制一个,因此我试图用VBA来处理脚本。我试图在Word中记录宏,看它是否会复制到Outlook(它不会 - 对象变量未设置)。 Word生成的代码是
Selection.InlineShapes.AddOLEObject ClassType:= _
"Excel.SheetMacroEnabled.12", FileName:= _
"K:\OutlookCalendar.xlsm" _
, LinkToFile:=False, DisplayAsIcon:=False
我想我需要指定的DIM,但我得到了我的深入,我一直无法找到一个谷歌的解决方案为止。请有人指出我正确的方向吗?
答
首先设置为“Microsoft Word中X.0对象库”,让Outlook可以识别由Word中使用的对象的引用 - Click Tools/References
现在,为了利用你录制的宏在Outlook中,您需要为选择对象项目设置一个变量。
例
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工具/参考
+1
非常棒,谢谢 - 它运作良好。设置参考的第一步几乎让我感到厌倦 - 我花费的时间比我想要承认的尝试点击工具/参考文章更长! (对于像我这样的人 - 在VBA窗口中单击工具>参考,并确保选中Microsoft Word x.0 Object Library) – Rob
查看示例https://*.com/a/44599739/4539709 – 0m3r