| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 455 人关注过本帖
标题:VB6怎么实现类似VBA这样的功能
只看楼主 加入收藏
q3698995
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2020-4-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
VB6怎么实现类似VBA这样的功能
怎么实现打开文件夹,选择文件。

vba代码:
With Application.FileDialog(3)
    If .Show Then For i = 1 To .SelectedItems.Count: p = p & .SelectedItems(i) & ",": Next
End With
搜索更多相关主题的帖子: With Then VB6 VBA For 
2022-04-24 14:36
yuma
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:银河系
等 级:版主
威 望:27
帖 子:1478
专家分:2297
注 册:2009-12-22
收藏
得分:10 
工程--部件--勾选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

心生万象,万象皆程序!
2022-04-24 21:51
yuma
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:银河系
等 级:版主
威 望:27
帖 子:1478
专家分:2297
注 册:2009-12-22
收藏
得分:0 
如果你不想用控件,参考VBS的方法,VB6中稍加修改也可以实现。
参考地址:https://

心生万象,万象皆程序!
2022-04-24 21:57
q3698995
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2020-4-23
收藏
得分:0 
回复 3楼 yuma
非常感谢,尝试了VBS第一种方法,只能选中一个文件,不能选择多个文件返回。
2022-04-25 10:06
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:115
帖 子:1098
专家分:6408
注 册:2010-3-16
收藏
得分:10 
设置多选flag
CommonDialog1.Flags = cdlOFNAllowMultiselect  '&H200
然后再ShowOpen
2022-04-25 10:50
q3698995
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2020-4-23
收藏
得分:0 
回复 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

只能选择一个文件
2022-04-25 11:05
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:115
帖 子:1098
专家分:6408
注 册:2010-3-16
收藏
得分:0 
程序代码:
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
2022-04-25 11:10
yuma
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:银河系
等 级:版主
威 望:27
帖 子:1478
专家分:2297
注 册:2009-12-22
收藏
得分:0 
回复 7楼 apull
你的代码中少了一个引号

心生万象,万象皆程序!
2022-04-25 19:04
q3698995
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2020-4-23
收藏
得分:0 
提示该部件的许可信息没有找到,是要安装什么补丁吗?
2022-04-26 10:57
boy8199
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2007-11-15
收藏
得分:0 
回复 9楼 q3698995
是 sp6版本吗?
2022-04-29 10:06
快速回复:VB6怎么实现类似VBA这样的功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027111 second(s), 8 queries.
Copyright©2004-2022, BCCN.NET, All Rights Reserved