SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 3039|回复: 13
打印 上一主题 下一主题

〖求助〗怎么在SW的VBA里面使用FileDialog

  [复制链接]

37

主题

990

帖子

1万

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
19519

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

跳转到指定楼层
楼主
 楼主| 发表于 2021-6-18 16:29:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
问题的产生是当想实现浏览文件夹的时候,如果引入Shell,用BrowseForFolder方法,会出现如下的效果:

这样浏览起来有点不够方便。

如果可以使用FileDialog的话,就可以实现以下的效果:

这样操作起来无疑会方便很多,但是这个只能在Office里面实现,到了SW里面就会提示没有这个方法。
相关代码如下:
  1. Dim fd As FileDialog
  2.     Set fd = Application.FileDialog(msoFileDialogFolderPicker)
复制代码
而在SW里面,会这样提示:

意思就是Application没有FileDialog这个方法。

不知道大家有没有遇到过这个问题,都是怎么解决的呢?还请不吝赐教!


P.S. 相关的引用都检查过,该有的都已经有了。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

37

主题

990

帖子

1万

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
19519

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

推荐
 楼主| 发表于 2021-7-16 14:25:35 | 只看该作者
忘记提供相关的代码了,在此附上

  1. Dim fd          As FileDialog
  2. Dim xlApp       As Excel.Application
  3. Set xlApp = Excel.Application
  4. Set fd = xlApp.FileDialog(msoFileDialogFolderPicker)
  5. If fd.Show = -1 Then MsgBox fd.SelectedItems(1)
复制代码


P.S. 引用需要Office和Excel的Object
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 1 反对 0

使用道具 举报

1

主题

34

帖子

119

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
241
QQ
板凳
发表于 2021-6-18 17:14:34 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

206

帖子

2052

金币

传奇

Rank: 8Rank: 8

积分
6368

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

地板
发表于 2021-6-21 09:33:05 | 只看该作者
在Excel VBA里面Application代表Excel.Application,在Solidworks VBA里面 Application 代表Sldworks.Application,可能我说的不严谨,但是你这么理解就是了。
创建一个 Excel.Application对象,再使用其对应的FileDialog就行了,前提得保证你电脑上已经安装了Excel或WPS。
你理解了就知道怎么写代码了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

37

主题

990

帖子

1万

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
19519

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

5#
 楼主| 发表于 2021-6-21 10:06:55 | 只看该作者

   经典案例图书
xiaocake 发表于 2021-6-21 09:33
在Excel VBA里面Application代表Excel.Application,在Solidworks VBA里面 Application 代表Sldworks.Appli ...

厉害!经过高手的提点,一下子就成功了!非常感谢!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

537

帖子

227

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2496

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

6#
发表于 2021-7-15 15:51:00 | 只看该作者
看大佬们聊天就是愉快,虽然看不懂
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

54

帖子

246

金币

堂主

Rank: 4

积分
866

最佳新人活跃会员热心会员宣传达人

7#
发表于 2021-7-15 23:08:38 | 只看该作者

   经典案例图书
同问,初学者路过
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

499

帖子

54

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2089

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

8#
发表于 2021-8-5 17:22:09 | 只看该作者
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

499

帖子

54

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2089

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

9#
发表于 2021-10-20 14:01:24 | 只看该作者
Allate 发表于 2021-7-16 14:25
忘记提供相关的代码了,在此附上

除了这两个种方法,目前有没有其它方法调用文件夹选择对话框?也遇到了同样的问题,调用Excel的是好用,但是反应有点慢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

37

主题

990

帖子

1万

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
19519

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

10#
 楼主| 发表于 2021-10-20 14:44:11 | 只看该作者
UDF998 发表于 2021-10-20 14:01
除了这两个种方法,目前有没有其它方法调用文件夹选择对话框?也遇到了同样的问题,调用Excel的是好用, ...

参考这个帖子:
https://www.swbbsc.com/thread-336374-1-1.html
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

499

帖子

54

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2089

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

11#
发表于 2021-10-20 15:54:52 | 只看该作者
Allate 发表于 2021-10-20 14:44
参考这个帖子:
https://www.swbbsc.com/thread-336374-1-1.html

这个方法就是你发的那种方法,调用Excel
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

37

主题

990

帖子

1万

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
19519

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

12#
 楼主| 发表于 2021-10-21 08:22:21 | 只看该作者
UDF998 发表于 2021-10-20 15:54
这个方法就是你发的那种方法,调用Excel

你没看到他发的另外一种方法么?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

139

帖子

92

金币

堂主

Rank: 4

积分
869

最佳新人活跃会员热心会员宣传达人灌水之王

13#
发表于 2021-10-21 13:55:36 | 只看该作者
非常不错,求楼主分享!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

207

帖子

593

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1936

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

14#
发表于 2021-11-16 18:44:20 | 只看该作者
Allate 发表于 2021-7-16 14:25
忘记提供相关的代码了,在此附上

谢谢楼主积极分享学习过程。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-4-29 13:14 , Processed in 0.201799 second(s), 37 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表