excel中vba中用FileDialog以记事本打开文本文件

sub 打开文件()
Set dig = Application.FileDialog(msoFileDialogOpen)
With dig
.AllowMultiSelect = True
.Filters.Add "文本文件", "*.txt", 1
.InitialFileName = "g:\123\"
.InitialView = msoFileDialogViewDetails
.Title = "打开"
.Show
.Execute
End With
Set dig = Nothing
End Sub

我以用记事本来打开文本文件,但系统是默认的excel,请问如何用记事本来打开文本文件?
我想用记事本来打开文本文件,但系统是默认的excel,请问如何用记事本来打开文本文件?

Sub 打开文件()
With Application.FileDialog(msoFileDialogOpen)
    .AllowMultiSelect = True
    .Filters.Add "文本文件", "*.txt", 1
    .InitialFileName = "g:\123\"
    .InitialView = msoFileDialogViewDetails
    .Title = "打开"
    If .Show = 0 Then Exit Sub
    Filename = .SelectedItems(1)
End With
Shell "notepad " & Filename, vbNormalFocus
End Sub

追问

我加了一个多选打开的循环,但发现一个怪现象,在对话框里选择的顺序和打开的顺序是反的,for要倒着循环才是和对话框里的选择顺序一样的,为什么呢?

(也就是说在对话框里先选的文件是SelectedItems的最后一个序号,不明白原因)

追答

选择写入Selecteditems 应该像往弹夹里压子弹一样,后入先出.应该是这样吧,这个问题我也没深究过.

温馨提示:内容为网友见解,仅供参考
无其他回答

excel中vba中用FileDialog以记事本打开文本文件
Sub 打开文件()With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = True .Filters.Add "文本文件", "*.txt", 1 .InitialFileName = "g:\\123\\" .InitialView = msoFileDialogViewDetails .Title = "打开" If .Show = 0 Then Exit Sub Filename = .Select...

excel中vba中用FileDialog以记事本打开文本文件
Sub 打开文件()With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = True .Filters.Add "文本文件", "*.txt", 1 .InitialFileName = "g:\\123\\" .InitialView = msoFileDialogViewDetails .Title = "打开" If .Show = 0 Then Exit Sub Filename = .Select...

VBA(Excel或Access)使用文件对话框FileDialog的几种方法
方法一:使用Excel或Access内置的Application.Filedialog进行操作,允许多选文件。在Excel中,通过Sub UseFileDialogOpen()函数实现。首先打开文件对话框,设置为允许多选,然后显示对话框。通过循环处理每个文件路径名,弹出消息显示选择的文件路径。方法二:利用CommonDialog对话框控件实现文件选择,通过CommonDialog...

vba用FileDialog选择文件(夹)
使用 VBA 中的 FileDialog 函数,可以轻松地创建一个对话框,允许用户选择文件或文件夹。通过这个对话框,用户可以操作系统中的文件和文件夹,程序则接收用户的选择结果。定义一个变量,用于存储 FileDialog 对象。dim fd 创建 FileDialog 对象。set fd=Application.FileDialog()为了选择多个文件,可以设置参数...

请教,在Excel VBA的窗体中能否实现点击按钮来打开Word文档、浏览资料...
可以,VBA代码:Set fd = Application.FileDialog(msoFileDialogFolderPicker)点击就可以选择要打开的WORD文件了。

excel vb 扫描TEXT文件条件录入Excel
If .Show Then strpath = .SelectedItems(1) Else Exit Sub End IfEnd Withstrfilename = Dir(strpath & "\\*.txt")xrow = 1 '设置一个在Excel中填入含关键字的内容的开始行Do While strfilename <> "" Open strpath & "\\" & strfilename For Input As #1 Do Whi...

vba (excel)怎么打开一个txt文件显示在textbox中,或者将textbox中内 ...
新建一个excel工作薄,打开VBA编辑器,插入一个用户窗体,在窗体中放一个textbox,两个commandbutton,然后打开窗体代码窗口粘贴以下代码 Private Sub CommandButton1_Click()'读入一个ANSI编码的文本文件,并显示在textbox中 With Application.FileDialog(msoFileDialogOpen)If .Show Then ipath = .SelectedItems...

Excel VBA和文件夹-1.7通过对话框灵活选定文件夹并打开对应文件
首先,我们创建一个对话框,让用户直接在VBA中选择所需的文件夹,无需预先指定路径,代码如下:对话框代码部分:这部分代码的作用是打开文件选择对话框:vb Sub OpenFolder()Dim fdlg As FileDialog Set fdlg = Application.FileDialog(msoFileDialogFolderPicker)If fdlg.Show = -1 Then '如果选择打开...

VBA问题,使用filedialog打开文件对话框的时候,怎样设置其默认打开的文...
Sub aa()Dim mm Set mm = Application.FileDialog(msoFileDialogFolderPicker)With mm .InitialFileName = "E:\\数据文件" '定义“E:\\数据文件”为默认路径 End With mm.Show End Sub

VBA 用filedialog 对话框选取文件时 怎样使得默认文件夹就是上次选取...
可以将vba代码所在的工作簿的某个单元格作为选择的路径的存放位置,设置.InitialFileName属性,让它每次从该单元格取值,然后,每次选择其他路径后将路径覆盖到该单元格中以更新路径。这样就行了

相似回答