Mic*_*B12 22 excel vba excel-vba
我想要一个Excel电子表格,其中包含A列中的文件路径和名称.运行宏时,假设应在用户的计算机上打开A1中指定的文件.该文件可能是.doc,.xls,.txt等....而不是我的vba需要知道应用程序的完整路径,我怎么能让vba告诉机器"请打开这个文件并使用你的应用程序与扩展相关联"?
我已经发现这可以使用完整的路径:
dblShellReturned = Shell("C:\Windows\System32\notepad.exe myfile.txt, vbNormalFocus)
Run Code Online (Sandbox Code Playgroud)
我怎么能让它与以下的东西一起工作:
dblShellReturned = Shell("myfile.txt", vbNormalFocus) ' how do I get this to work
Run Code Online (Sandbox Code Playgroud)
先感谢您!
Tin*_*Bum 28
这适用于Excel和Word
Sub runit()
Dim Shex As Object
Set Shex = CreateObject("Shell.Application")
tgtfile = "C:\Nax\dud.txt"
Shex.Open (tgtfile)
End Sub
Run Code Online (Sandbox Code Playgroud)
或者......根据Expenzor的评论如下
CreateObject("Shell.Application").Open("C:\Nax\dud.txt")
下面的代码是一个模板.但是,您可能希望将默认(工作)目录更新为文件的位置.
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpszOp As String, _
ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal LpszDir As String, ByVal FsShowCmd As Long) _
Function StartDoc(DocName As String) As Long
Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
StartDoc = ShellExecute(Scr_hDC, "Open", DocName, _
"", "C:\", SW_SHOWNORMAL)
End Function
Run Code Online (Sandbox Code Playgroud)
小智 6
VBA的Shell命令想要一个exe,所以我一直在启动explorer.exe并传入我的文件路径作为参数.它似乎也适用于*.lnk快捷方式和网址.
Shell "explorer.exe C:\myfile.txt"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
68898 次 |
最近记录: |