【问题标题】:VBA macro to embed OLEobject into an Outlook Appointment series将 OLEobject 嵌入 Outlook 约会系列的 VBA 宏
【发布时间】:2020-06-28 19:03:03
【问题描述】:

我们使用 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 解决方案。有人能指出我正确的方向吗?

【问题讨论】:

标签: vba outlook


【解决方案1】:

首先设置对“Microsoft Word x.0 对象库”的引用,以便 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 工具/参考

【讨论】:

  • 太棒了,谢谢 - 它运作良好。设置参考的第一步差点让我失望 - 我花了比我愿意承认的时间更长的时间来尝试单击您帖子上的工具/参考! (对于像我这样的人 - 单击 VBA 窗口中的工具>参考,并确保选择 Microsoft Word x.0 对象库)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 2017-10-27
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多