2013-09-28 193 views
0

我收到大量帶附件的電子郵件。附件需要保存,編輯添加引用(以編程方式),記錄新的參考號碼,並將保存的附件轉發給各個收件人。我已經在outlook vba中使用了所有這些工具,但爲了使審計更容易,我需要在包含新添加的引用號的日誌單元格中添加超鏈接,以便我可以快速導航到新保存的文件。使用outlook VBA添加超鏈接到excel工作表

我已經徹底搜查,但沒有喜悅,並嘗試:

 With LogObj.Sheets("Log") 
     .Hyperlinks.Add Anchor:=LogObj.Sheets("Log").Cells(LastOrderRow, 3), Address:="", SubAddress:= _ 
      "SavePath", TextToDisplay:=LogObj.Sheets("Log").Cells(LastOrderRow, 3) 
     End With 

我已經試過:

 LogObj.Sheets("Log").Cells(LastOrderRow, 3) = _ 
     WorksheetFunction.Hyperlink(savePath, LogObj.Sheets("Log").Cells(LastOrderRow, 3)) 

在絕望中我試圖爲文字:

 OrderRef = "LogObj.Sheets("Log").Cells(LastOrderRow, 3)" 
     LogObj.Sheets("Log").Cells(LastOrderRow, 3) = _ 
     WorksheetFunction.Hyperlink(""" & SavePath & """, OrderRef) 

和在上面的許多變化,包括添加application.worksheetfunction。

如果有人知道正確的語法讓Outlook VBA在Excel中執行此操作,我將非常感謝他們是否會分享它。

非常感謝。

涅瓦

回答

1

該文件的路徑應該在地址中。這對我有效。確保你的路徑是有效的。

With LogObj.Sheets("Log") 
    Set rNext = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) 
    rNext.Value = lReference 
    .Hyperlinks.Add Anchor:=rNext, Address:=sSavePath, TextToDisplay:=CStr(lReference) 
End With 
+0

+1我認爲OP的問題是插入一個帶有空/空字符串「地址」參數的超鏈接。 [這是* required *參數](http://msdn.microsoft.com/en-us/library/office/ff822490.aspx),並且插入空字符串滿足要求時,它不可能產生理想結果。 –

+0

謝謝迪克,它的功能就像一個魅力。並感謝@DavidZemens的建議。 – Nevasadie