2013-12-17 37 views
0

我有另一个问题得到有关Outlook的回答。我需要从我发送的电子邮件草稿中获取附件,以便我可以检查它们是否为excel文件,如果是这样,请通过excel文件读取,以将该excel文件中的某些文本复制/粘贴到主体中的电子邮件。感谢来自我的Previous Question的回答,我已经想出了如何获取电子邮件附件,但我仍在研究如何将附件添加到特定的电子邮件草稿中,但更紧迫的问题是,一旦我添加一些东西,我试图在Excel中打开它,因此从联网的计算机获取Outlook电子邮件附件的内容

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文件。

编辑:我只是将文件复制到我的本地硬盘驱动器,并试图从那里打开文件,同样的问题。我是否会暂时拥有相同的文件以打开它?这是你编辑电子邮件附件时的前景吗?

回答

0

如果有人和我一样的问题 - 这里就是我来的结论:

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

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

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

相关问题