我们使用Outlook日历来跟踪当地社区中心的客房预订。对于每个日历预约/房间预订,我们从文件中插入一个对象(excel电子表格)。每个预订的电子表格和文件路径都相同。 Screenshot
我想简化使用宏嵌入此电子表格。不幸的是Outlook不允许我录制一个,所以我试图用VBA编写脚本。我尝试在Word中录制宏以查看它是否会复制到Outlook(它没有 - 对象变量未设置)。 Word生成的代码是
Selection.InlineShapes.AddOLEObject ClassType:= _
"Excel.SheetMacroEnabled.12", FileName:= _
"K:\OutlookCalendar.xlsm" _
, LinkToFile:=False, DisplayAsIcon:=False
我认为我需要指定DIM,但是我已经超出了我的深度,到目前为止我一直无法找到Google解决方案。有人能指出我正确的方向吗?
答案 0 :(得分:0)
首先设置对" Microsoft Word x.0对象库的引用"所以Outlook可以识别Word使用的对象 - Click Tools/References
现在,为了在Outlook中使用录制的宏,您需要将一个变量设置为Selection对象项。
示例
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工具/参考