如何使这个硬编码的文件路径动态



代码应该通过"文件路径";中的"文件选取器"对话框窗口,然后上载/附加文件。我总是犯错误。

VBA代码(Shell出错并询问对象(:

Sub AttachFile()
ufile = "D:DesktopMovement Pass.txt"
vbsFile = "D:DownloadsSelenium BasicAttachment.vbs"
Shell "WScript.exe " & vbsFile & " " & ufile 
End Sub

VB脚本-Attachment.vbs(Arguments处出错(:

Set WshShell = CreateObject("WScript.Shell")
Application.wait Now + TimeSerial(0, 0, 5)
Ret = WshShell.AppActivate("Open")
WshShell.Run "cmd.exe /c echo " & Wscript.Arguments(0) & "| clip", 0, True
WshShell.SendKeys "^{v}"

使用AutoIt,它适用于硬编码的文件路径。我希望文件路径是动态的(这样我就可以从Excel VBA运行循环(。Shell命令不编译,AutoIt不允许VBA中的动态路径。

我正在寻找VBA和Shell命令的解决方案。VBA中的AutoIt动态文件路径也是一个解决方案。我知道这不是正确的方法,但这就是我所知道的:

VBA.Shell "Explorer D:SeleninumVBGet_File_Name.exe", vbNormalFocus

如果作为命令行参数传递的路径可能包含空格,则需要对其进行引用:

Sub AttachFile()
ufile = "D:DesktopMovement Pass.txt"
vbsFile = "D:DownloadsSelenium BasicAttachment.vbs"
Shell "WScript.exe """ & vbsFile & """ """ & ufile & """"
End Sub

最新更新