从联网计算机获取Outlook电子邮件附件的内容

我有另一个问题得到关于Outlook的回答 . 我需要从我发送的电子邮件草稿中获取附件,以便我可以检查它们是否是excel文件,如果是这样,请阅读excel文件,将该excel文件中的某些文本复制/粘贴到正文中电子邮件 . 感谢我的回答Previous Question我还在研究如何将附件添加到特定的电子邮件草稿中,但更紧迫的问题是,一旦我添加了某些内容,我会尝试在excel中打开它

Dim NewMail As MailItem, oInspector As Inspector
    Set oInspector = Application.ActiveInspector
    Dim eAttachment As Object
    '~~> Get the current open item
    Set NewMail = oInspector.CurrentItem

    Set eAttachment = CreateObject("Excel.Application")

    With eAttachment
    '       Change file name to suit
            .Workbooks.Open FileName:=NewMail.Attachments.Item(1).FileName

    End With

但它基本上告诉我该文件不存在 . 所以我查看附件上的pathName,发现它被设置为空 . 那里没有文字 . 我认为这与附加的Excel文件在与我正在使用的计算机网络连接的计算机上有关 . 我搜索过,但是由于显而易见的原因,搜索“在联网计算机上获取Outlook电子邮件附件的内容”并没有告诉我我想要的结果 .

如何访问附加的Excel文件的工作簿?请注意我的示例仅使用第一个附件,因为对于测试阶段,我现在只附加1个excel文件 . 当我可以打开Excel文件时,我会检查附件以确保它们是excel文件,然后再打开它们 .

编辑:我刚刚将文件复制到我的本地硬盘驱动器并尝试从那里打开文件,同样的问题 . 我打算暂时拥有相同的文件以便打开它吗?这是编辑电子邮件附件时Outlook的作用吗?

回答(1)

3 years ago

万一有人遇到同样的问题 - 这就是我得出的结论:

PathName对象,也许它只是我正在使用的outlook版本,但它绝对没有存储 . 我在我办公室的两台计算机和家里的计算机上都进行了测试,结果相同:它不在那里 . 每个Attachment对象都有一个SaveAsFile方法,您可以使用该方法将文件保存到临时文件夹,并通过常用的Excel应用程序从那里访问它 . 不幸的是,这似乎是阅读文件附件内容的唯一方法,即使它只是您正在编写的草稿副本 .

另外,让我得到的是,我在Excel文件中尝试查找正在使用的最后一个单元格,并使用.End(xlUp)方法 . 请记住,如果您使用的是您使用的程序中定义的常量,则不会在另一个程序中定义 . 例如 . 我从Outlook打开这个Excel文件,技术上,所以尝试使用xlUp给了我错误 . 只需打开Excel,Word,或者您需要检查这些常量的值并在程序中设置它们 .

希望这可以回答未来某人的问题 .