VBA宏将OLEobject嵌入到Outlook约会系列中

时间:2017-08-14 05:28:53

标签: vba outlook outlook-vba

我们使用Outlook日历来跟踪当地社区中心的客房预订。对于每个日历预约/房间预订,我们从文件中插入一个对象(excel电子表格)。每个预订的电子表格和文件路径都相同。 Screenshot

enter image description here

我想简化使用宏嵌入此电子表格。不幸的是Outlook不允许我录制一个,所以我试图用VBA编写脚本。我尝试在Word中录制宏以查看它是否会复制到Outlook(它没有 - 对象变量未设置)。 Word生成的代码是

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

我认为我需要指定DIM,但是我已经超出了我的深度,到目前为止我一直无法找到Google解决方案。有人能指出我正确的方向吗?

1 个答案:

答案 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工具/参考

     

enter image description here