运行时错误 287 - 设置 Inspector.wordeditor 时的 Outlook

2023-12-07

Set oApp = CreateObject("Outlook.Application")

Set oMailItem = oApp.CreateItem(0)

oMailItem.BodyFormat = olFormatRichText

Set oInspector = oMailItem.GetInspector

oInspector.Display


MsgBox "IsWordMail = " & oInspector.IsWordMail & vbLf & "EditorType = " & (oInspector.EditorType = olEditorWord) ' Both are true.

设置 wdDoc = oInspector.WordEditor '

此格式的 option-mail- Composer 消息为“HTML” 展望参考16.0已建立


如果迁移到 Office 365 后或由于任何其他原因代码突然停止工作,请参阅下面的代码。添加了注释以便于理解和实施。

如果您拥有管理权限,那么您还可以尝试以下链接中给出的注册表更改:https://support.microsoft.com/en-au/help/926512/information-for-administrators-about-e-mail-security-settings-in-outlo

但是,我建议使用独立于系统更改的 Excel 版本的代码,因为每个最终用户的计算机上也需要进行系统更改。


Option Explicit

Sub Create_Email(ByVal strTo As String, ByVal strSubject As String)


    Dim rngToPicture As Range
    Dim outlookApp As Object
    Dim Outmail As Object
    Dim strTempFilePath As String
    Dim strTempFileName As String

    'Name it anything, doesn't matter
    strTempFileName = "RangeAsPNG"

    'rngToPicture is defined as NAMED RANGE in the workbook, do modify this name before use
    Set rngToPicture = Range("rngToPicture")
    Set outlookApp = CreateObject("Outlook.Application")
    Set Outmail = outlookApp.CreateItem(olMailItem)

    'Create an email
    With Outmail
        .To = strTo
        .Subject = strSubject

        'Create the range as a PNG file and store it in temp folder
        Call createPNG(rngToPicture, strTempFileName)

        'Embed the image in Outlook
        strTempFilePath = Environ$("temp") & "\" & strTempFileName & ".png"
        .Attachments.Add strTempFilePath, olByValue, 0

        'Change the HTML below to add Header (Dear John) or signature (Kind Regards) using newline tag (<br />)
        .HTMLBody = "<img src='cid:DashboardFile.png' style='border:0'>"


        .Display

    End With

    Set Outmail = Nothing
    Set outlookApp = Nothing
    Set rngToPicture = Nothing

End Sub

Sub createPNG(ByRef rngToPicture As Range, nameFile As String)

    Dim wksName As String

    wksName = rngToPicture.Parent.Name

    'Delete the existing PNG file of same name, if exists
    On Error Resume Next
        Kill Environ$("temp") & "\" & nameFile & ".png"
    On Error GoTo 0

    'Copy the range as picture
    rngToPicture.CopyPicture

    'Paste the picture in Chart area of same dimensions
    With ThisWorkbook.Worksheets(wksName).ChartObjects.Add(rngToPicture.Left, rngToPicture.Top, rngToPicture.Width, rngToPicture.Height)
        .Activate
        .Chart.Paste
        'Export the chart as PNG File to Temp folder
        .Chart.Export Environ$("temp") & "\" & nameFile & ".png", "PNG"
    End With
    Worksheets(wksName).ChartObjects(Worksheets(wksName).ChartObjects.Count).Delete

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行时错误 287 - 设置 Inspector.wordeditor 时的 Outlook 的相关文章

  • Excel - 公式或宏根据链接到另一个单元格的另一个单元格填充单元格

    在 Excel 中 我试图根据其他两个单元格中包含的值创建一个单元格 我需要单元格 X 和 Y 来获取基于单元格 L 和 的数据 就像这样 X Y L 1 2 3 4 5 6 A 6 1 1 6 1 6 1 7 1 7 2 7 2 8 1
  • 如何在缩进层次结构中找到父级?

    我目前有一张 Excel 工作表 其中包含缩进的项目层次结构 如下所示 每个项目都缩进 每个缩进四个空格 以显示它如何适应整体层次结构 我已经能够创建一个 级别 列 将缩进级别转换为数字 Item Level Parent P1 1 N A
  • 使用图表时避免使用“激活”和“选择”(Excel)

    我知道使用Activate and Select在 Excel 中 VBA 不是最佳实践 我看过有关如何在处理范围时避免它们的参考资料 例如 LINK https stackoverflow com questions 10714251 e
  • DAO.DBEngine 类不再在使用 Windows 10 的 MS Access 2016 中注册

    客户端最近从 Windows 7 升级到 10 并从 Access 2013 迁移到 2016 包含在 Office 365 中 Excel 中的 VBA 宏现在会生成以下错误 运行时错误 2147221164 80040154 类未注册
  • 使用 VBA 跟踪 Excel 2007/2010 中的样式更改

    我需要跟踪某些工作表中的单元格样式变化 我无法在 Excel 2007 2010 中使用内置跟踪 因为我需要自定义某些内容 我尝试通过 Workbook SheetChange 跟踪样式更改但失败了 当我将单元格从一种样式更改为另一种样式时
  • 宏在第二张幻灯片上不起作用的 Powerpoint 进度

    我正在尝试创建一个宏 它将在 powerpoint 演示文稿中的幻灯片中运行 我本来可以工作 但现在停止工作了 我不知道为什么 运行幻灯片和动画的 vbscript 是 Private Sub PPTEvent SlideShowNextB
  • 以编程方式阻止 Vista 桌面搜索 (WORDS) 对映射网络驱动器上的 pst 文件建立索引

    经过几天的多次尝试 我没有找到任何 100 的解决方案来解决这个问题 我的搜寻和调查范围 直接访问注册表 HKLM SOFTWARE Microsoft Windows Search CrawlScopeManager Windows Sy
  • Excel宏R1C1公式不保留值

    我有一个 Excel 宏 它创建一个新的 Excel 工作表并用可变数量的行填充它 我有一个变量中存储的行数的计数 我正在使用 R1C1 公式根据行数将两个单元格相乘 在宏中 公式看起来是正确的 如果我添加一个断点并在其上放置一个手表 但是
  • Excel 宏 - 复制并粘贴筛选的行

    因此基于工作表中的下拉选择 B 我们想要滚动浏览工作表中的一堆行 A 删除所有没有的Cell 4 dropDownValue 然后复制该范围并将其粘贴到工作表中 B 下面的代码运行但不执行任何操作 我可以调试并看到dropDownValue
  • 从 VSTO Addin 获取 Outlook 窗口

    我有一个Outlook 2013 VSTO 插件 我想将我的保存文件对话框我创造的 为此 您需要将其传递给Window父对象 我不确定是否IWin32Window and Window是一样的 但这就是我所拥有的 public IWin32
  • 在 VBA 中加速嵌套循环宏所需的指针

    我需要帮助来加速我的简单的 8 变量嵌套循环宏 每个循环仍然需要大约 1 秒 并且有几十万个循环需要完成 因此需要 3 到 4 天才能完成 从我在这里的阅读和实验中 我确实已经尽可能地简化了流程 但现在遇到了困难 我的宏基本上有 3 个部分
  • 有一个更好的方法吗? VBA脚本

    我这里有一份供料泵的跟踪清单 我们必须考虑库存水平 所以我做了这个 当您将泵输入表中时 什么也没有发生 当您将患者姓名放在上面时 该行会变成粉红色 表明该泵已离开我们的库存 我试图将一个脚本 宏放在一起 可以计算我们仍然拥有的泵 即白色行
  • 复制两个 Excel 实例之间的范围

    我正在运行两个单独的 Excel 实例 并且尝试将数据从一个工作簿中的范围复制到另一个工作簿中 我有这个代码 Sub CopyValues Dim xlApp As Excel Application Set xlApp GetObject
  • 出现错误时如何中断?

    我有一个函数 其中某个地方有一些错误导致它返回 VALUE当我尝试在Excel中执行它时 我不知道错误在哪里 单步调试代码也很乏味 所以我希望调试器在发生错误时立即中断 我尝试去Tools gt options gt General gt
  • 我怎样才能优化这个vba循环代码?

    嗨 我写了这段代码 但这段代码非常慢 我该如何优化这段代码 Private Sub printItem r lastCol objStream FirstCol 1 Dim strFirst As String strFirst CStr
  • 如何在vba中查找命名形状的索引号

    我运行了以下代码 for i 1 to activedocument Shapes count debug Print activedocument shapes i name next 并获得了形状列表 但是缺少一个形状 我选择了一个未包
  • 用于替换格式但保留单元格值的 VBA:部分解决

    我正在尝试组合 VBA 来搜索特定的单元格格式 然后更改该单元格格式 我从这篇文章中得到了灵感 Excel VBA 值替换后仍保持字符串格式 https stackoverflow com questions 25825136 excel
  • Hyperlinks.add VBA [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在用 VBA 编程 我想使用创建超链接hyperlink addActiveSheet 对象的方法 但是它不起作用 这是我的代码 set
  • iCalendar 创建:RFC 5546 说明

    我面临与创建 ICS 文件相关的几个问题 该文件必须与多个客户端兼容 特别是iOS Gmail Outlook Android and Windows Phone 谷歌搜索后 我发现了 2009 年提出的标准 又名RFC5546 https
  • Excel VBA 自动过滤子字符串

    我的 Excel 中有多行 其中 D 列为 TDM 02 Bundle Rehoming 5 NE TDM 02 Bundle Rehoming 23 NE IP 02 Bundle Rehoming 7 NE 等 请注意 大多数情况下 N

随机推荐

  • 在 C 中,当 'a' 是 int 时,为什么 sizeof(char) 是 1?

    I tried printf d d n sizeof char sizeof c and got 1 4作为输出 如果字符大小为 1 为什么 c 给我4个 我猜这是因为它是一个整数 所以当我这样做时char ch c 当将 4 字节值分配
  • 在 iOS 中,使用 CFUUID 生成的 id 有多唯一?

    其实标题就是我的问题 既然 Apple 不再允许使用 UUID 我决定使用 CFUUID 不过我对此有一些疑问 每个设备都是唯一的吗 如果是 它与 UUID 有什么不同 它是随机生成器吗 如果是的话有多好 我能确定 10000 台设备中不会
  • 我的 cookie 真的只是 HTTP 吗? Cookie 请求标头中缺少标志

    我做了一些配置 最终 仅在 HTTP 上设置我的 cookie 似乎 有效 我试过了postman我有以下内容 当我点击登录页面时 在 cookies 部分 我的名为 JSESSIONID 的 cookie 似乎只是 HTTP 它有检查 当
  • 使用MySQL,如何选择某一特定行的查询结果排名?

    今天我花了很多时间尝试各种事情 但似乎都不起作用 这是我的情况 我希望能够根据特定排序行中的 ID 选择行的排名 例如 如果我的查询类似于 SELECT id name FROM people ORDER BY name ASC 结果如下
  • Emgu - CalcHist _rowRange 错误

    我正在尝试使用 OpenCV 的 Emgu C 包装器为图像的反向投影创建直方图 我有以下 OpenCV C 代码 我试图将其转换为 Emgu C char filename char C Images items jpg Mat im i
  • JSF PRG 存在验证错误

    我正在使用带有 PRG 模式的 JSF 在我的导航规则中使用 问题是当我收到验证错误时 例如 用户未设置强制值 重定向未完成 即发布后紧接着获取同一页面 场景是 用户没有输入必填值并提交表单 发生验证错误 并且显示相同视图时出现错误 消息
  • 如何在 ASP.Net MVC 中初始化 Webhook 接收器

    我正在遵循本指南here用于在 ASP Net MVC 中安装和使用 webhook 但看起来本指南适用于 wep api 类型项目 我正在使用 MVC 类型的项目 并且没有 Register 方法 这与 API 项目不同 在 MVC 中
  • 相当于Angular2中的ng-repeat来获取JSON对象的键[重复]

    这个问题在这里已经有答案了 我正在寻找一种使用 Angular2 将 JSON 对象浏览到 HTML 页面的方法 为了得到每个键和每个值 在 AngularJS 中 可以使用指令ng repeat div key div 但在 Angula
  • 如何使用 SharpSVN 访问预提交挂钩中的文件信息

    总的来说 我对 SharpSVN 和 SVN 很陌生 我正在尝试实现一个预提交挂钩 当用户提交某种类型的 XML 文件时 在允许提交文件之前 我需要拦截该文件并对其进行分析 以确保它们包含某些元素 由于 SVN 似乎提交了两个参数 存储库路
  • 获取具有特定时间的 Date() 对象

    我想获取一周的开始日期 我能够获取日期 只是返回的日期具有当前系统时间的时间 例如 如果现在是 19 20 我得到的周开始日期为日期 2012 年 3 月 26 日星期一 19 20 16 GMT 0530 IST 为了准确计算 我需要时间
  • React js从父组件更改子组件的状态

    我有两个组件 父组件我想从中更改子组件的状态 class ParentComponent extends Component toggleChildMenu render return div div
  • SwiftUI显示gif图像

    swiftUI中显示动画gif图片的方法 因为图像 Image fall leaves 不支持gif 回答如下 在 swiftUI 中显示 gif 图像的最简单 最快的方法是使用Preview QuickLook QL QLPreviewV
  • 在sql中生成随机名称

    我有 5 个男性和女性的随机名字 我需要根据性别插入随机名称 但是我们如何在 SQL 中从一组 5 个名称中随机插入名称 是否可以 select name from table order by newid
  • JSF 中组件的水平放置

    应该很简单 但我找不到答案 我想水平放置组件而不是垂直放置 我想要实现的是一个丰富的 具有 2 行或更多行的工具栏 我一直在尝试使用具有面板网格和两个面板组的工具栏来做到这一点 如下所示
  • 如何让窗口绝对置顶?

    我用设置窗口位置api 使用 HWND TOPMOST 参数使我的窗口位于最顶层 它工作正常 但工具提示仍然位于其之上 如何让我的窗口位于所有窗口之上 我缺少一个 api 吗 Edit 我用计时器检查前景窗口然后将我的窗口设置为最上面来修复
  • Ramda:通过与另一个数组中的每个项目进行比较来从数组中获取对象

    我有一个像这样的数组 ids 1 3 5 和另一个数组 例如 items id 1 name a id 2 name b id 3 name c id 4 name d id 5 name e id 6 name f 我想要的是另一个数组
  • Mavericks 安装后 Sublime Text 2 命令行无法运行

    我已经准备好通过 Stack Overflow 上的其他线程 尽管我付出了努力 但问题似乎并未解决 自从安装 OS X Mavericks 以来 我无法从命令行打开 Sublime Text 2 我尝试遵循以下准则 http benkwok
  • 自定义将结构解组为切片映射

    我以为我现在已经理解了解组 但我想还没有 我在用 Go 解组地图时遇到了一些麻烦 这是我到目前为止的代码 type OHLC RESS struct Pair map string Candles Last int64 json last
  • 在发布到服务器之前如何正确地将文件附加到 formData?

    我一直在关注这个FormData 教程在这里 但尚未了解如何表单数据对象 works 我的输入表格
  • 运行时错误 287 - 设置 Inspector.wordeditor 时的 Outlook

    Set oApp CreateObject Outlook Application Set oMailItem oApp CreateItem 0 oMailItem BodyFormat olFormatRichText Set oIns