2015-12-15 58 views
1

我有一個工作表,其中我維護了一個包含超鏈接到其他工作表的列。如何從Excel超級鏈接提取完整路徑

Set rngx = Worksheets("Sheet2").Range("C1:C10000").Find("Power Plant 1", lookat:=xlPart) 

BR2 = rngx.Hyperlinks(1).Address 

在這裏,BR2以前我曾經獲得特殊的鏈接路徑 「項目\電廠\電廠EPC 1.xlsm」

後,我走進信息 - >特性,改變了超鏈接基地到C:\, 現在提的超鏈接基礎後我得到的超級鏈接路徑爲「用戶\ inkapb \應用程序數據\本地的\ Temp \ EPC AutoTool \項目\電廠\電廠EPC 1.xlsm」

我的問題是我需要C:驅動器的路徑,如「C:\ Users \ inkapb \ AppData \ Local \ Temp \ EPC AutoTool \ Projects \ Power Plant \電廠EPC 1.xlsm「是否可以在代碼中追加C:\來實現。

+0

用戶** inkapb **是否更改?如果另一個用戶正在使用該工作簿,該鏈接是否仍然引用--inkapb--用戶的配置文件文件夾? – Jeeped

+0

inkapb如果有其他用戶正在使用工作簿,用戶將會改變,那麼他們的用戶名將會如您所說的被替換。 –

回答

0

使用%LOCALAPPDATA%環境變量設置超鏈接地址。

'as a formula 
=HYPERLINK("%LOCALAPPDATA%\Temp\EPC AutoTool\Projects\Power Plant\Power Plant EPC 1.xlsm", "Power Plant 1") 

'as VBA 
rngx.Hyperlinks(1).Address = Environ("LOCALAPPDATA") & _ 
    "\Temp\EPC AutoTool\Projects\Power Plant\Power Plant EPC 1.xlsm" 
'or, 
rngx.Hyperlinks(1).Address = "%LOCALAPPDATA%\Temp\EPC AutoTool\Projects\Power Plant\Power Plant EPC 1.xlsm" 

Hyperlinks objectHYPERLINK function檢索。地址應檢索正確的完整路徑和文件名。

BR2 = rngx.Hyperlinks(1).Address 
0

我得到了完整路徑。 而不是超鏈接基地作爲「C:\」我把它改爲「x」,它的工作就像一個魅力。