QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
求助各位大佬,在SW宏里怎么调用solidworks自带的“选择文件夹”对话框,如下图,不知道用哪个函数或者方法可以调用这个对话框。类似于用GetOpenFileName可以调用“打开”对话框一样,
; W1 I' Z# _7 Y* }$ x用BrowseForFolder也可以选择文件夹,但是感觉没有solidworks自带的那个好用。: K1 N, o: E5 w* `4 U
选择文件夹01.png 9 [" c$ }2 w1 ~% q
+ T5 w% M. }' x6 `

, P; X2 S3 E  I
$ g: h9 d# a. a1 O% L  l
 楼主| 发表于 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/ K. f! `6 c! R7 a
microsoft shell controls and automation

+ x7 _0 r6 F( W9 t' b+ ~8 f能具体点吗,宏不是太懂,只自学了一点,能有个例子就好了。用这个方法我只能打开这样的对话框: _8 X" z# j6 |, M2 L" w: q
$ {' n5 G! ]6 ^( ?2 `, \" }) q/ h8 L/ p
12345.png
$ P$ L# I" z2 V5 F7 d: Q8 I2 Y

点评

樓主是想要開啟左邊的快速存取?  发表于 2022-5-20 09:39
 楼主| 发表于 2022-5-16 15:43:40 | 显示全部楼层 来自: 中国江苏常州
还有希望能得到高手的指点吗
发表于 2022-5-20 09:38:05 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2022-5-20 09:58 编辑
( @" r/ j: ~+ X! B5 P. Y( [- Z
( a  d7 B; F5 B; ~4 i代碼如下~
- p$ P8 k& r, o) n
  1. Option Explicit
    6 E2 y$ R8 ~3 C0 |; t0 S- Q

  2. - Q& K5 q& b, f* [8 E: k2 }
  3. Dim swApp As SldWorks.SldWorks
    2 M0 @; Q+ R, v9 Y. Z% K

  4. . s9 t# Z; D0 Q! a5 f& i! r- n
  5. Sub main()
    & v9 ^/ b: |! B: \: B1 n( [
  6. $ `3 }9 X! M; b% w8 j# h
  7.   Set swApp = Application.SldWorks5 n  @8 p5 V7 H7 A3 p8 Z4 ~  u
  8.   Dim swFilter As String# b: h' C9 f& T, `) y6 ]5 `
  9.   Dim fileName As String
    , l+ @0 l. J0 W. T+ Y0 K3 x4 g& {
  10.   Dim fileConfig As String
    0 i" F# E8 D; ~, d- }) G
  11.   Dim fileDispName As String( q4 ~' \3 ~3 Q/ a! ^& G# w
  12.   Dim fileOptions As Long- ~% N: f1 W/ H$ F, h) z
  13.   swFilter = "SOLIDWORKS Files (*.sldprt; *.sldasm; *.slddrw)|*.sldprt;*.sldasm;*.slddrw"
      C% E7 ?" {8 @7 N% P; n' i8 Q
  14.   4 V6 a5 E( P! _. ^6 E% u
  15.   ' Browse and get the Selected file name
    $ e; N5 d+ z3 i6 C& {
  16.   fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)  c+ K0 q4 A0 a0 A# w9 }# d
  17. * {' {3 k1 j7 e. V) ]
  18. End Sub
复制代码
  Q" s- c$ J" e' B/ Y

9 P' L! I3 Z9 Q) @6 N' }
 楼主| 发表于 2022-5-23 15:16:20 | 显示全部楼层 来自: 中国江苏常州
gt.adan 发表于 2022-5-20 09:381 ~: v9 s* }8 g% n/ u
代碼如下~
+ k( q! Y7 t* ^
多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文件夹的路径就好。
/ P6 z  ~5 `4 R5 z) A2 G4 d, C比如我们在”系统选项“设置 文件模板 位置的时候,只需要选择一个文件夹,现在就不知道在宏里怎么调用到和那一样的“选择文件夹”对话框。

点评

多加一行代碼就可以了…  详情 回复 发表于 2022-12-13 13:31
发表于 2022-12-13 13:31:53 | 显示全部楼层 来自: 中国台湾
lider2010 发表于 2022-5-23 15:166 `) g& G) x/ A
多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文 ...
- a" u7 \6 b6 N6 a2 R6 Q6 n
多加一行代碼就可以了…
( b* |) B2 l8 P" H! }* [+ g( ]& w3 J' _7 M% c
  1. Option Explicit
    / f- c$ t2 n+ Z2 b2 f# N& L- |
  2. 5 \" Z0 z; }  m0 x- Q- P* q# O
  3. Dim swApp As SldWorks.SldWorks
    1 A5 U  i) V7 X7 [- @2 g
  4. Dim swFilter As String, fileName As String, fileConfig As String, fileDispName As String
    ! b: w+ r3 F, W
  5. Dim fileOptions As Long8 B0 y8 L4 D- {
  6. * d8 s" O) q9 V" s# S6 p1 Z! a
  7. Sub main()
    : Q9 M1 a8 U: f8 k1 q2 V) n
  8. Set swApp = Application.SldWorks' F  e: h$ {+ g/ i- w! F
  9. swFilter = "All(*.*)|*.*": ~+ ]" k. d# ~/ L" U, W
  10. 2 Y7 D3 i4 d7 h/ T( O
  11. ' Browse and get the Selected file name
    7 a& i6 N, P0 ?7 c( m
  12. fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)( V: C3 |, f8 ]) y
  13. ' Get the path of the selected file- C# @  O% Z. R& y7 N) ]
  14. fileName = Left(fileName, InStrRev(fileName, ""))% e4 Y& A  U5 ]2 n  ]
  15. Debug.Print fileName
    7 v7 e* N4 B. I$ M1 Y/ o- @
  16. End Sub
    - F9 S$ E( e1 K6 ?
复制代码
/ R( }/ |' ^1 ~
2 u/ j, v& A4 i/ P0 K$ y
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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