QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2419|回复: 8
收起左侧

[求助] 在宏里怎么调用solidworks自带的“选择文件夹”对话框?

[复制链接]
发表于 2022-4-21 13:37:53 | 显示全部楼层 |阅读模式 来自: 中国江苏常州
其他
主题分类用于问题归类:

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
求助各位大佬,在SW宏里怎么调用solidworks自带的“选择文件夹”对话框,如下图,不知道用哪个函数或者方法可以调用这个对话框。类似于用GetOpenFileName可以调用“打开”对话框一样,7 H1 q' u8 I/ P2 u/ o% \
用BrowseForFolder也可以选择文件夹,但是感觉没有solidworks自带的那个好用。1 u( E& {( X: y" t/ d
选择文件夹01.png
# U& z! Q) O* N0 Z- b3 S4 ]9 I3 r  {# n/ ]& B0 U
+ R0 Z1 F, [& a; `- `

! T; Q. ?, d& q* F
 楼主| 发表于 2022-4-23 09:18:32 | 显示全部楼层 来自: 中国江苏常州
自己顶一下,希望知道的朋友能分享下方法
发表于 2022-4-26 22:03:49 | 显示全部楼层 来自: 中国福建厦门
microsoft shell controls and automation
 楼主| 发表于 2022-4-28 18:22:26 | 显示全部楼层 来自: 中国江苏常州
fend5566 发表于 2022-4-26 22:03
/ d5 e. _% R% j. G; X7 v" `6 Lmicrosoft shell controls and automation
1 i3 P4 a% d# M" X( |
能具体点吗,宏不是太懂,只自学了一点,能有个例子就好了。用这个方法我只能打开这样的对话框( R+ \( L1 M( s

, M* x$ B5 B6 f$ A0 C3 ? 12345.png
+ R% ~1 u! @5 ?3 K' w

点评

樓主是想要開啟左邊的快速存取?  发表于 2022-5-20 09:39
 楼主| 发表于 2022-5-16 15:43:40 | 显示全部楼层 来自: 中国江苏常州
还有希望能得到高手的指点吗
发表于 2022-5-20 09:38:05 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2022-5-20 09:58 编辑
4 Q! A" h9 X3 B! l) q5 B  ]: S: S, ^0 M7 X( F/ v
代碼如下~- V& m; o0 I" l  y  W. l5 j( E
  1. Option Explicit
    0 _8 i% b. O2 s+ i8 e) G
  2.   Q6 o3 @1 i+ b, h& N
  3. Dim swApp As SldWorks.SldWorks5 T- a/ Q" {0 K- H# I. A5 T; O

  4. 9 h( X5 S  E' z1 u& A& a
  5. Sub main()* `2 g- g" T, Y3 [. o: \# g' ~8 m! t
  6. ; C: R8 z+ P4 Z. K% a! T9 p/ U
  7.   Set swApp = Application.SldWorks" B; q3 \/ v+ I. k3 ]
  8.   Dim swFilter As String7 O% s8 u3 M! l/ o6 p: G3 Y
  9.   Dim fileName As String
    + k1 t6 w0 ?8 [# w/ K6 O
  10.   Dim fileConfig As String
    - u) U( q; H& x) q; F
  11.   Dim fileDispName As String
    9 j' z- O+ w8 e& ^2 V- G& i0 k6 l9 J7 w
  12.   Dim fileOptions As Long
    ) X; f* f4 m0 z, l; B4 s6 E
  13.   swFilter = "SOLIDWORKS Files (*.sldprt; *.sldasm; *.slddrw)|*.sldprt;*.sldasm;*.slddrw"2 }0 s3 r8 [, [% L9 ~
  14.   
    $ r3 l' p. X7 X& i0 x; _
  15.   ' Browse and get the Selected file name
    7 `& H& D) `6 U- |% X% P
  16.   fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)9 ]" J7 E( A  m

  17. : ?! N# P4 P' |- [0 G3 X% q
  18. End Sub
复制代码

4 k3 M. I' M7 D3 y; O: Q* _# C1 D; ]" g
 楼主| 发表于 2022-5-23 15:16:20 | 显示全部楼层 来自: 中国江苏常州
gt.adan 发表于 2022-5-20 09:38
/ Z) P* R" W* O! _% H代碼如下~
0 q0 D1 }: v* P. u
多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文件夹的路径就好。
, j9 ~5 L, j3 a6 f' ^比如我们在”系统选项“设置 文件模板 位置的时候,只需要选择一个文件夹,现在就不知道在宏里怎么调用到和那一样的“选择文件夹”对话框。

点评

多加一行代碼就可以了…  详情 回复 发表于 2022-12-13 13:31
发表于 2022-12-13 13:31:53 | 显示全部楼层 来自: 中国台湾
lider2010 发表于 2022-5-23 15:166 o' ]. D- |0 U+ L. H* K: }' z
多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文 ...

1 E9 u6 O1 k7 z3 ~多加一行代碼就可以了…
7 Q0 J# v2 J: k6 q) [( M/ N4 O: Z" t9 W* g  z( A: ?
  1. Option Explicit5 H7 V3 v- h# c
  2. 2 ^8 b8 o6 F4 C9 S/ l" l: M
  3. Dim swApp As SldWorks.SldWorks
    4 U, k4 X  z1 g8 ?& u
  4. Dim swFilter As String, fileName As String, fileConfig As String, fileDispName As String) F& v" f$ L0 n# c" Y' @0 o. W
  5. Dim fileOptions As Long
    ; d1 b4 e0 k- \

  6. + v* g+ d+ A6 l2 j( s
  7. Sub main()
    + K' ~% B$ t4 l/ q4 X
  8. Set swApp = Application.SldWorks7 a, W, @9 {& d$ ]' T& v
  9. swFilter = "All(*.*)|*.*"
    * H$ E% T/ o3 z+ }8 N! ~
  10. ; C2 l( E( @' ^! L6 a
  11. ' Browse and get the Selected file name
    7 }1 W, p1 }# _
  12. fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)
    : }( o) j. ~7 ~: W2 x1 @' q
  13. ' Get the path of the selected file
    . Q8 Q$ D. Y& X4 f  D5 I# F
  14. fileName = Left(fileName, InStrRev(fileName, ""))% c- F" o9 a* [! V" a
  15. Debug.Print fileName
    1 W) ?& @0 Q0 j( c! S
  16. End Sub: m4 I$ M3 O" [, r. ?5 _* B9 P+ f; ?9 y
复制代码

! E  y4 O% F% b: H  s5 n5 p4 r; D( n
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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