-2
我對VBA非常陌生,誠實地不知道自己在做什麼。VBA - 如何將變量傳遞到網絡文件路徑
問題: 我需要一個宏來根據用戶的輸入轉到文件網絡路徑。但我不知道是否有可能將兩個變量傳遞到網絡路徑中。或者如果有其他方法可以做到這一點。例如:
例如)用戶將從下拉列表中選擇他們想要的文件名以及該文件位於主Excel表單中的IP地址。有許多類型的文件和IP地址,所以我不想將它們全部寫入宏。
目前我所擁有的是下面的硬編碼,指出實際位置(IP地址)和FileName。
Dim vPID As Variant vPID = Shell("notepad.exe ""\\105.xxx.xx.xx\C:\FileName""", vbNormalFocus)
有人可以指點我一個很好的資源,我可以研究嗎?我一直在網上搜索幾個小時,找不到與我想要做的事直接相關的任何內容。
我嘗試了下面的內容,但由於我錯誤地插入了變量,無法找到網絡路徑。
注意:將要打開的文件是XML格式,將在記事本中打開並且不會轉換爲.xls。
注:ToolID單元格區域中引用了一個IP地址「G6」 文件名引用單元格範圍中的「I3」
Dim ToolID As String
Dim FileName As String
Dim vPID As Variant
Dim GetFile As Workbook
Set GetFile = ThisWorkbook
FileName = ThisWorkbook.Worksheets("Sheet1").Range("G6").Value
ToolID = ThisWorkbook.Worksheets("Sheet1").Range("I3").Value
vPID = Shell("notepad.exe ""\\ToolID\C:\FileName""", vbNormalFocus)
感謝您的答覆。我會明天嘗試這個,看看這是否在shell()中有效。 – mplh2008
@ mplh2008 - 「在shell中」和其他任何地方的字符串連接之間沒有區別 - 你所做的只是創建一個字符串,然後將其作爲參數傳遞給shell。爲了便於調試,您可能希望創建兩條命令 - commandString =「notepad.exe」「\\」&ToolID&「\ C:\」&FileName&「」「」'和'vPID = Shell(commandString ,vbNormalFocus)'。 – YowE3K
感謝你們兩個,我讓它工作。我有很多東西要學, – mplh2008