在VBA中更新粘贴到外部电子表格的链接

我试图拦截粘贴外部链接的过程。 我想要将链接的来源更改为内部网站。

公式如下所示:

='[filename.xlsx]Sheet1'!$B$7 

我想更改为:

 ='http://server/site/[filename.xlsx]Sheet1'!$B$7 

这个代码的诀窍是:

 Dim s As String s = ActiveCell.FormulaR1C1 If Len(s) < 3 Then Exit Sub Dim i As Integer i = InStr(s, "[") If i > 0 Then s = "='X:\directory\[" + Mid(s, i + 1) ActiveCell.FormulaR1C1 = s End If 

上面已经试过添加了

 ActiveSheet.Paste Link:=True 

但它不会超过链接,而是粘贴一个公式。 我已经看过从剪贴板中提取链接,但没有任何运气与Application.ClipboardFormats。

任何想法,将不胜感激。

尝试改变:

 ActiveCell.FormulaR1C1 = s 

 ActiveCell = s ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=s 

这样,你只需要input你想要查看的值,然后将超链接添加到你想要指向的地方! 没有理由与非常挑剔的Excel, .Paste.PasteSpecial