2016-04-18 32 views
0

我正在嘗試做什麼
我試圖將不同Excel單元格的內容複製到各自的Word書籤中。然後將這個填充的Word文檔粘貼到Outlook電子郵件中。如果單元格中有一個URL,我希望它是電子郵件中的可點擊超鏈接。高效地將文本從Excel複製到Word,超鏈接(如果適用)

問題
如果單元格的值是一個URL,然後在它發送電子郵件之前取消超鏈接,就出現了超鏈接(對某些人來說)接收到電子郵件時。然而,其他用戶看到看起來像一個可點擊的鏈接(藍色和下劃線),但無法點擊,因爲它實際上沒有超鏈接。我的猜測是,某些郵件程序會識別URL並自動超鏈接,而其他郵件程序則不會。

我試過了
我想到的解決辦法是在發送之前確保URL是超鏈接的。我嘗試了幾種形式的.PasteSpecial.PasteAndFormat,並且該URL已在Excel中超鏈接。我靠近了,但是得到了不想要的回車或沒有超鏈接。我最新的嘗試是一個2線黑客:

'put the cell contents in (sans formatting) 
    BKMRange.Text = ActiveCell.Value 

'If it looks like a hyperlink, then hyperlink it 
    If UCase(Left(ActiveCell.Value, 4)) = "HTTP" Or UCase(Left(ActiveCell.Value, 4)) = "WWW." Then TempEmailDoc.Hyperlinks.Add BKMRange, ActiveCell.Value 

這樣做的問題是,如果電池不僅僅是一個URL更多(例如,「這是你的網址:www.google.com」)時,由於前4個字符不是「HTTP」或「WWW」,因此URL不會超鏈接。我可以對「HTTP」或「WWW」進行更強大的搜索,但代碼變得複雜得多。必須有一個更有效的方法。

我的問題
我怎樣纔能有效地副本單元格內容,但保留超鏈接,如果單元格中包含他們?

謝謝!

+0

這是發送電子郵件程序的編輯器,將超鏈接放在電子郵件中。接收程序可能會保存它們。 –

+0

那麼你能解釋一下,爲什麼只有一些人回覆說他們不能點擊鏈接?我認爲這可能是用戶錯誤,但是由於他們回覆,我可以在下面看到他們收到的電子郵件文本,並在該文本中URL被格式化爲鏈接,但沒有超鏈接,因此無法點擊。 –

+0

如果您發現它正確,但他們收到它_wrong_,那麼它似乎與他們的服務器或電子郵件客戶端的東西。詢問他們使用什麼客戶端。 –

回答

0

您可以使用電池的超鏈接集學習whther單元格中包含一個超鏈接:

Sub test() 
    Dim i 
    i = Selection.Hyperlinks.Count 
    If (i > 0) Then MsgBox Selection.Hyperlinks(1).Address 
End Sub 

現在你知道一個細胞(含)的超鏈接,你可以將它作爲Outlook中的超鏈接。我假設你在Outlook VBA中工作並在Outlook VBA中打開工作表。

請注意,當您在Excel中輸入正確的URL時,它會自動將其變爲超鏈接。

+0

問題是,有時您必須解決單元格的值才能讓Excel自動將其變爲超鏈接。我有幾個用戶的網址未被解析爲超鏈接。要解決這個問題,他們可以進入單元格(F2或雙擊),然後通過ENTER解決 –

相關問題