我有一个文本框,他们应该填写文件路径,例如:
C:\Data\Project X\
然后我们将标准子文件夹作为项目阶段,例如:
...\Design\CAD Drawings
\Design\CAD Drawings\
dir是固定的,父文件夹是可变的,因为它取决于它是在服务器上,本地等等。
在某些情况下,按钮应该打开excel表,其中包含有关机器特定部分的信息,例如:一系列螺栓,垫圈和螺母。
我使用shell命令:
Shell "excel.exe ""C:\Data\Project X\Design\CAD Drawings\Bolts.xlsx""", vbNormalFocus
如果我手动填写文件路径,这非常有效。当我想将路径创建为变量/字符串的组合时,会出现问题。我想要这样的东西:
Shell "excel.exe [ProjectPath]\Bolts.xlsx", vbNormalFocus
其中[ProjecPath]
是文本框中的字符串。
Excel按预期打开,但后来表示无法在路径C:\Data\Project
找到该文件。然后我按OK,然后下一个标志出现:
无法在以下位置找到文件:" X \ Design \ CAD"
依此类推 - 即每当空格发生时它就会切断文件路径。
当我打开消息框时:
MsgBox [ProjectPath]
它完全按照空格和所有内容写入路径,但是当我在shell命令中填充它时,它会在空格处剪切它。当我把"" ""我得到它只是搜索名称[ProjectPath]
而不是文本框字段中的字符串。
答案 0 :(得分:1)
您需要引用完整的文件规范:
>> pth = "C:\Data\Project X"
>> inp = "Design\CAD Drawings"
>> fil = "bolts.xls"
>> fsp = goFS.BuildPath(pth, goFS.BuildPath(inp, fil))
>> cmd = "excel.exe """ & fsp & """"
>> WScript.Echo cmd
>>
excel.exe "C:\Data\Project X\Design\CAD Drawings\bolts.xls"