2013-12-17 67 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,或者你需要檢查這些常量的值並將其設置在程序中。

希望這可以回答未來某個人的問題。

相關問題