vb中shell打开文本文件

来源:百度知道 编辑:UC知道 时间:2024/06/16 18:11:29
Shell FileName为什么打不开文件呢
CommonDialog1.FileName 不是包含文件路径吗

shell 只能运行可执行文件,包括扩展名为exe,com,bat,cmd等等
如果需要打开文本文档
可以使用
shell "c:\windows\notepad.exe " & CommonDialog1.FileName
或者
shell "cmd /c start " & CommonDialog1.FileName

如果不对,你可以杀了我.
shell功能很强大的,其实它什么文件都可以调用,不仅仅局限于可执行类文件,我一直这样用的:
Shell "Rundll32.exe url.dll, FileProtocolHandler 文件路径(含文件名和扩展名)", vbNormalFocus

vb中shell是用来打开[运行]程序文件的。对于各种文档文件[扩展名非exe],需要调用打开文档的专用程序,可以命令行的形式写入代码。比如"shell notepad.exe /d xx.txt"等等。
最好是调用API函数 ShellExecute 来实现此任务。
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
hwnd [Long],指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
lpOperation [String],指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
lpFile [String],想用关联程序打印或打开一个程序名或文件名
lpParameters [String],