将文件拖到VB编译后的exe,然后获取被拖动文件的路径
如题,就是我把一个TXT文件拖动到一个Vb程序,然后这个程序怎么获取这个文件的路径?而且如果选择打开方式为这个程序也可以有相同的效果。如何实现?
利用 Command 函数返回命令行参数。
Private Sub Form_Load()
MsgBox Command()
End Sub
例:
假如编辑后的文件名为 工程1.exe,同时,C:1 2 目录(注:1和2之间有一空格)保存了t1.txt、t2.txt 二个文件。
1、将 t1.txt 拖放到exe文件上测试结果
2、将 t1.txt、t2.txt 拖放到exe文件上测试结果
之所以用含有空格的“1 2”路径来测试,主要是为了说明问题,防止获取路径时出错。拖放文件用函数返回参数时,如果文件路径名中含有空格,则参数前后会自动加上半角双引号,另外,第2个测试说明,选中二个及二个以上文件拖放后,返回的文件路径名之间是以空格隔开的。因此,在编写获取文件路径名代码时,一定要注意这一点。
至于你的后一个问题,不太清楚你具体所指。假如你想用系统“记事本”打开txt文件,则得到文件路径名后,使用 shell 运行“记事本”打开文件即可。如:
Shell "notepad.exe" & Chr(32) & "C:1 2 1.txt" , vbNormalFocus
或者
Shell "notepad.exe" & Chr(32) & Chr(34) & "C:1 2 1.txt" & Chr(34), vbNormalFocus
热门标签: