【问题标题】:Text Box in Outlook EmailOutlook 电子邮件中的文本框
【发布时间】:2020-06-23 08:43:47
【问题描述】:

下面是两组删除文本框的 VBA 代码,第一组在 MS Excel 中工作,第二组在 MS Word 中工作。两者之间的唯一区别是“Active”之后的第三行。

我正在尝试在新打开的电子邮件中复制 MS Outlook 中的此操作,但缺乏正确的代码术语知识...有没有人知道这个问题的答案?...谢谢, .

Sub RemoveTextBox()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If shp.Type = msoTextBox Then shp.Delete
    Next shp
End Sub

Sub RemoveTextBox()
    Dim shp As Shape
    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then shp.Delete
    Next shp
End Sub

【问题讨论】:

  • 据我所知,这是不可能的,因为 Outlook 电子邮件正文是 HTML 文档(但由 Word 的布局引擎呈现),不公开任何 DOM 或添加交互式控件的方法(ActiveX COM 或其他) .

标签: vba outlook ms-word


【解决方案1】:

对于 Outlook,它将类似于以下示例

Option Explicit
Public Sub Example()
    Dim Inspector As Outlook.Inspector
    Dim wdDoc As Word.Document
    Dim Shp As Word.Shape

    Set Inspector = Application.ActiveInspector()
    Set wdDoc = Inspector.WordEditor

    For Each Shp In wdDoc.Shapes

        Debug.Print Shp.Type 'msoTextBox = 17 - Print on Immediate Window
        If Shp.Type = msoTextBox Then Shp.Delete

    Next

End Sub

对于开放式电子邮件,请使用 Application.ActiveInspector Method (Outlook)Inspector.WordEditor Property (Outlook)

Inspector.WordEditor Property (Outlook) 返回正在显示的消息的 Microsoft Word 文档对象模型。只读,仅当 IsWordMail 方法返回 True 且 EditorType 属性为 olEditorWord 时,WordEditor 属性才有效。返回的 WordDocument 对象提供对大多数 Word 对象模型的访问,但以下成员除外:


Application.ActiveInspector Method (Outlook) 返回桌面上最顶端的 Inspector 对象。


Remember to add reference to word xx object library


1.从“工具”菜单中,选择“参考”以显示“参考”对话框。

2. References 对话框显示向操作系统注册的所有对象库。滚动浏览要引用其对象库的应用程序的列表。如果应用程序未列出,您可以使用浏览按钮搜索对象库(.olb 和 .tlb)或可执行文件(.exe 和 .dll 在 Windows 上)。您的项目使用复选框被选中的引用;没有勾选的不使用,但可以添加。

【讨论】:

  • 感谢您的回复...我有点困惑,您说不可能,但您提供了代码。你是说不可能像它在 Excel 和 Word 中那样工作,而你的代码在 Outlook 中也能工作吗?如果这是正确的理解,那么也许您可以提供更多帮助......当我运行代码时,它在第一个 wdDoc 时出错。
  • @DennisTM 我不是那个说这个的人 - 是其他人再次看到 cmets - 现在我从未见过有人在 Outlook 上这样做,所以我用 ms-word 为你写了一个对象库,它可以工作-我永远不会在没有测试的情况下发布代码-我在 Outlook 2010 上
  • 伙计,你是“巫师”... Word 14.0 对象库的引用做到了,我今天是一个更聪明的人。真是松了一口气,我正要收拾东西,然后自己下定决心,这是不可能的……非常感谢你
猜你喜欢
  • 2020-07-05
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 2011-09-28
  • 2016-01-20
相关资源
最近更新 更多