VBA-如何将变量传递到网络文件路径

VBA-如何将变量传递到网络文件路径,vba,excel,Vba,Excel,我对VBA很陌生,老实说,我不知道自己在做什么 问题: 我需要一个宏来根据用户的输入转到文件网络路径。但我不知道是否有可能将两个变量传递到网络路径中。或者如果有其他方法可以做到这一点 用户可以从下拉列表中选择所需的文件名以及该文件在主Excel工作表中的IP地址。有许多类型的文件和IP地址,所以我不想将它们全部硬编码到宏中 目前,我所拥有的是下面的硬代码,其中说明了实际位置(IP地址)和文件名 Dim vPID As Variant vPID = Shell("notepad.exe

我对VBA很陌生,老实说,我不知道自己在做什么

问题: 我需要一个宏来根据用户的输入转到文件网络路径。但我不知道是否有可能将两个变量传递到网络路径中。或者如果有其他方法可以做到这一点

用户可以从下拉列表中选择所需的文件名以及该文件在主Excel工作表中的IP地址。有许多类型的文件和IP地址,所以我不想将它们全部硬编码到宏中

目前,我所拥有的是下面的硬代码,其中说明了实际位置(IP地址)和文件名

Dim vPID As Variant      vPID = Shell("notepad.exe ""\\105.xxx.xx.xx\C:\FileName""", vbNormalFocus)
有人能给我指出一个我可以研究的好资源吗?我在网上搜索了几个小时,找不到任何与我想做的事情直接相关的东西

我尝试了下面的方法,但由于错误地插入了变量,因此找不到网络路径

注意:将打开的文件是XML格式,将在记事本中打开,并且不会转换为.xls

注意:ToolID引用单元格范围“G6”中的IP地址 文件名引用“I3”中的单元格范围


我不太清楚
Shell()
是如何工作的,但一般来说,您必须“突破”变量将要进入的部分。应该是这样的:

vPID = Shell("notepad.exe ""\\" & ToolID & "\C:\" & FileName & """", vbNormalFocus)
类似于如果你想在一个像“这个句子中有[var1]空格,那就是[var2]”这样的句子中使用变量,应该是:

myString = "This sentence has " & var1 & " spaces in it. That's " & var2

谢谢你的回复。明天我将尝试这个方法,看看它是否在shell()中起作用。@mplh2008-字符串串联“在shell中”和其他任何地方都没有区别-您所做的只是创建一个字符串,然后将其作为参数传递给shell。为便于调试,您可能希望将其设置为两个命令-
commandString=“notepad.exe”“\\\”&ToolID&“\C:\”&FileName&”“
vPID=Shell(commandString,vbNormalFocus)
@mplh2008很高兴它能工作!我会考虑YowE3k的建议,因为这会使它看起来更“干净”,并在故障排除时提供帮助。
myString = "This sentence has " & var1 & " spaces in it. That's " & var2