我有另一个问题得到关于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的作用吗?
答案 0 :(得分:0)
如果有人遇到同样的问题 - 这就是我得出的结论:
PathName对象,也许它只是我正在使用的outlook版本,但它绝对没有任何内容。我在我办公室的两台计算机和家里的计算机上都进行了测试,结果相同:它不在那里。每个Attachment对象都有一个SaveAsFile方法,您可以使用该方法将文件保存到临时文件夹,并通过常用的Excel应用程序从那里访问它。不幸的是,这似乎是阅读文件附件内容的唯一方法,即使它只是您正在编写的草稿副本。
另外,让我得到的是,我在Excel文件中尝试查找正在使用的最后一个单元格,并使用.End(xlUp)方法。请记住,如果您使用的是您使用的程序中定义的常量,则不会在另一个中定义。例如。我从Outlook打开这个Excel文件,技术上,所以尝试使用xlUp给了我错误。只需打开Excel,Word,或者您需要检查这些常量的值并在程序中设置它们。
希望这可以为将来某人回答这个问题。