【问题标题】:How to add inline pdf document using vba?如何使用 vba 添加内联 pdf 文档?
【发布时间】:2020-06-21 08:23:54
【问题描述】:

我正在尝试使用内联 pdf 文档创建 Outlook 电子邮件草稿。

我设法使用 html img src 标签添加内嵌图片,但这不适用于文档。我应该修改什么来添加 pdf 而不是图片?

我尝试使用该位置,但没有添加到正确的位置,而是添加到了文本的末尾。

Set outlook = createObject(“Outlook.Application”)
Set mailItem = outlook.CreateItem(olMailItem)

With mailItem
    .BodyFormat = olFormatRichText
    .Body = “hello world”
    .Attachments.add “file.pdf”, olByValue, 6
End With

【问题讨论】:

  • 这是你想要做的吗? stackoverflow.com/a/44599739/4539709
  • @0m3r 是的,这就是我正在尝试做的,但是将图标放置在文本之间,将修复我的代码的方法是将 attachments.add 放在 with 子句之外以使其正常工作。我仍然不明白为什么我被否决了,因为这是一个合法的问题。
  • @Storax 这可以在 Outlook 本身内完成,无需使用第三方库/应用程序。你可以通过选择富文本来做到这一点,我正在尝试用 VBA 来复制它。
  • @Zavfel:如果可能的话,你分享你的代码会很棒,因为我仍然认为你不能像在网络浏览器中那样嵌入 PDF.file。
  • @storax 我想你误解了我的问题,我试图将它们内联添加为图标,如 0m3r 提供的链接所示。通过将 add 函数从 with 子句中添加出来,会将 pdf 添加到正确的位置,但会放大它,我试图在将其发布为正确答案之前对其进行修复

标签: excel vba outlook


【解决方案1】:

您只能以 RTF 格式执行此操作,而不能以 HTML 格式执行此操作。调用MailItem.Attachments.Add 时,适当指定Position 参数。

【讨论】:

  • 你知道如何添加多个附件吗?使用 add 似乎在第一个文档的索引处添加第二个或更多文档
  • 多个附件调用Add时是否指定相同的索引?
  • 你可以忽略这个,我意识到你必须向后指定索引才能工作,我一直在尝试按顺序添加附件索引。例如添加位置 2,添加位置 4 不起作用。
【解决方案2】:

好像 add 函数只有在调用 display 之后才起作用,否则只会添加到整个 body 的末尾

Set outlook = createObject(“Outlook.Application”)
Set mailItem = outlook.CreateItem(olMailItem)

With mailItem
    .BodyFormat = olFormatRichText
    .Body = “hello world”
    .Display
    .Attachments.add “file.pdf”, olByValue, 6
End With

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 2014-07-13
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    相关资源
    最近更新 更多