注册 登录
编程论坛 VB6论坛

VB6怎么实现类似VBA这样的功能

q3698995 发布于 2022-04-24 14:36, 2071 次点击
怎么实现打开文件夹,选择文件。

vba代码:
With Application.FileDialog(3)
    If .Show Then For i = 1 To .SelectedItems.Count: p = p & .SelectedItems(i) & ",": Next
End With
9 回复
#2
yuma2022-04-24 21:51
工程--部件--勾选Microsoft Common Dialog Control 6.0--从工具箱拖CommonDialog控件到窗体。

程序代码:
Private Sub Form_Load()
Dim a As String
CommonDialog1.ShowOpen
a = CommonDialog1.FileName
If a <> "" Then
MsgBox "你选择的文件为:" & a, 4096, "提示"
Else
MsgBox "你未选择文件!", 4096, "提示"
End If
End Sub
#3
yuma2022-04-24 21:57
如果你不想用控件,参考VBS的方法,VB6中稍加修改也可以实现。
参考地址:https://
#4
q36989952022-04-25 10:06
回复 3楼 yuma
非常感谢,尝试了VBS第一种方法,只能选中一个文件,不能选择多个文件返回。
#5
apull2022-04-25 10:50
设置多选flag
CommonDialog1.Flags = cdlOFNAllowMultiselect  '&H200
然后再ShowOpen
#6
q36989952022-04-25 11:05
回复 5楼 apull
感谢,我想用3楼提供的不用控件方法。

'打开对话框
Set wShell = CreateObject("WScript.Shell")
Set oExec = wShell.Exec("mshta.exe ""about:<input type=file id=FILE><script>FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);</script>""")

'输出选择的,文件的路径
File_Selected = oExec.StdOut.ReadLine
MsgBox File_Selected

只能选择一个文件
#7
apull2022-04-25 11:10
程序代码:

Dim fileDlg As Object
Set fileDlg = CreateObject("")

fileDlg.DialogTitle = "选择文件"
fileDlg.Filter = 文本文件|*.txt|"
fileDlg.FilterIndex = 2
fileDlg.Flags = cdlOFNAllowMultiselect
fileDlg.ShowOpen
If fileDlg.FileName <> "" Then
    F1$=fileDlg.FileName
Else
    msgbox "没有选择文件"
    return
End If


前几天有人问过同样问题。
https://bbs.bccn.net/viewthread.php?tid=508813
#8
yuma2022-04-25 19:04
回复 7楼 apull
你的代码中少了一个引号
#9
q36989952022-04-26 10:57
提示该部件的许可信息没有找到,是要安装什么补丁吗?
#10
boy81992022-04-29 10:06
回复 9楼 q3698995
是 sp6版本吗?
1