首页 文章

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

提问于
浏览
1

我们使用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

    首先设置对"Microsoft Word x.0 Object Library"的引用,以便Outlook可以识别Word使用的对象 - Click Tools/References

    现在,为了在Outlook中使用录制的宏,您需要将一个变量设置为Selection对象Item .

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

相关问题