QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
求助各位大佬,在SW宏里怎么调用solidworks自带的“选择文件夹”对话框,如下图,不知道用哪个函数或者方法可以调用这个对话框。类似于用GetOpenFileName可以调用“打开”对话框一样,8 j. S1 b. f. r: C
用BrowseForFolder也可以选择文件夹,但是感觉没有solidworks自带的那个好用。% e. x7 V% l4 Y4 Z
选择文件夹01.png , P+ C( w1 v* G% \6 |% D0 n6 U; Z
$ A: K+ C( g4 J: h* r8 K+ Y

" f: g- _% Y; G$ B' c7 b" n0 j7 e7 X( S/ G* a
 楼主| 发表于 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
+ J4 a" Y  Z- K+ z3 H+ ]" ^% M; _1 _microsoft shell controls and automation

8 [. U3 }: Q, `, z能具体点吗,宏不是太懂,只自学了一点,能有个例子就好了。用这个方法我只能打开这样的对话框- w0 G0 _. @2 n2 D5 k" m# X. Y) l8 d
6 t3 z8 ]. Y3 B  C) s
12345.png 0 `) \, c4 j, j6 Y1 W4 a- f

点评

樓主是想要開啟左邊的快速存取?  发表于 2022-5-20 09:39
 楼主| 发表于 2022-5-16 15:43:40 | 显示全部楼层 来自: 中国江苏常州
还有希望能得到高手的指点吗
发表于 2022-5-20 09:38:05 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2022-5-20 09:58 编辑
7 G" I5 a6 Q1 P& Q& `: @! t% I: M3 |6 M2 p/ p3 F
代碼如下~. R+ d1 P4 j! v& R  f- B
  1. Option Explicit& v- Q) @6 e1 H" h' h0 @8 X

  2. ( G& `$ V9 k* E6 F6 J: O
  3. Dim swApp As SldWorks.SldWorks. l0 Z0 c* b; M9 C5 y

  4.   W7 q4 l+ b0 D+ K4 |% Q2 P: J; J
  5. Sub main()5 _  ^& f9 R# d9 w

  6. & @8 B0 |" l5 [5 d
  7.   Set swApp = Application.SldWorks
    " q2 h; C% P; y, z
  8.   Dim swFilter As String
    0 }5 M- C1 z5 W
  9.   Dim fileName As String  p  I, c' `8 F7 M+ e5 ^. P' v0 b( }
  10.   Dim fileConfig As String
    5 l9 F7 F% L# U* Q( b
  11.   Dim fileDispName As String
    ! p; z* P! w, p, N1 M3 [
  12.   Dim fileOptions As Long2 K; N( Q1 T" P, n& x, f: ]" e6 r7 @
  13.   swFilter = "SOLIDWORKS Files (*.sldprt; *.sldasm; *.slddrw)|*.sldprt;*.sldasm;*.slddrw"1 t: L+ }1 _& m, d* F6 g
  14.   
    / X! m! K" J) d+ Y& p
  15.   ' Browse and get the Selected file name  q; F8 l$ B- R
  16.   fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)- j% V' y0 T% b0 s
  17. 8 f$ F$ X, P3 u6 Y" F/ A( k" \
  18. End Sub
复制代码

- a5 s. U  h/ H. T
. c) U  l6 K! a# }! |( {) A, D
 楼主| 发表于 2022-5-23 15:16:20 | 显示全部楼层 来自: 中国江苏常州
gt.adan 发表于 2022-5-20 09:385 \6 L* P0 Q6 Q  d3 n# \/ n
代碼如下~

( F; w7 F  a3 G4 ?* j. x9 a多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文件夹的路径就好。
  J7 A! W1 X" k/ v+ L比如我们在”系统选项“设置 文件模板 位置的时候,只需要选择一个文件夹,现在就不知道在宏里怎么调用到和那一样的“选择文件夹”对话框。

点评

多加一行代碼就可以了…  详情 回复 发表于 2022-12-13 13:31
发表于 2022-12-13 13:31:53 | 显示全部楼层 来自: 中国台湾
lider2010 发表于 2022-5-23 15:16. ~2 Y9 C- V1 Y1 q; J, t+ T
多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文 ...
+ h  k3 ^$ r( ?
多加一行代碼就可以了…, ^& X) l1 ~- X  K

* R8 W& q- S, S6 @& U, M5 _% q, i
  1. Option Explicit+ ~: e5 ^2 g1 e7 v

  2. 7 f2 W- W1 P# c- S; G" y
  3. Dim swApp As SldWorks.SldWorks
    + D4 T+ v/ U1 R# T
  4. Dim swFilter As String, fileName As String, fileConfig As String, fileDispName As String
    ) Y0 h" B0 M9 X4 w0 G' t5 X* T
  5. Dim fileOptions As Long
    : E! p  D& a( i  S, T. H! j0 J

  6. 6 G4 i( L. D- ^, f. \; a
  7. Sub main()
    % T, [8 C3 N# ?5 |4 a- w
  8. Set swApp = Application.SldWorks1 I6 _, {& }8 F$ j- g6 N; n4 u
  9. swFilter = "All(*.*)|*.*"
    6 w0 t! |- l! j* P* I! Q# ?& u

  10. 3 E/ C; M/ D# N
  11. ' Browse and get the Selected file name* J% H0 E) R0 X
  12. fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName): e2 J$ A; x* R' ?" J
  13. ' Get the path of the selected file
    ( K: S$ _5 T2 v) l: u) j
  14. fileName = Left(fileName, InStrRev(fileName, "")). G. u8 W" b' U* c% b' a( ]
  15. Debug.Print fileName
    5 _* V+ `, s0 i1 G/ t
  16. End Sub8 c$ W+ O% T: _
复制代码

4 I, _3 a- b$ U2 j) K+ L" ^+ X0 G) m$ r$ ^& Z6 P( X
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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