QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
求助各位大佬,在SW宏里怎么调用solidworks自带的“选择文件夹”对话框,如下图,不知道用哪个函数或者方法可以调用这个对话框。类似于用GetOpenFileName可以调用“打开”对话框一样,
; H2 ?6 `  `$ }7 X' x用BrowseForFolder也可以选择文件夹,但是感觉没有solidworks自带的那个好用。2 l7 B7 w& c6 J7 d5 V
选择文件夹01.png
- n& S( N- p. f1 l$ D- q3 \; H$ {
% k# @8 @3 K2 X& H4 S0 A
/ R1 s* j+ m: g9 f  ^9 z6 V. Y# {1 @1 @0 k5 N, \  V$ c% R
 楼主| 发表于 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
2 U3 ]- D% \3 b5 vmicrosoft shell controls and automation

3 E: d9 D8 s: Q2 v5 }/ ?7 y4 ^能具体点吗,宏不是太懂,只自学了一点,能有个例子就好了。用这个方法我只能打开这样的对话框, u% U  @# T$ t- r
! v+ ^# E9 |# M! _! u" \
12345.png
6 Y; S1 i6 D% p# N3 [

点评

樓主是想要開啟左邊的快速存取?  发表于 2022-5-20 09:39
 楼主| 发表于 2022-5-16 15:43:40 | 显示全部楼层 来自: 中国江苏常州
还有希望能得到高手的指点吗
发表于 2022-5-20 09:38:05 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2022-5-20 09:58 编辑
  n5 b7 m' A! A( G# s$ O' E  }
' x. M. m( h: N: E/ W代碼如下~
! p1 A3 d, V# k" O
  1. Option Explicit5 K" e# h: [) ~  x$ O6 E! C- [0 g

  2. 6 C$ G/ K8 v4 z' t7 |
  3. Dim swApp As SldWorks.SldWorks) I2 y, |4 }# n$ Q4 p

  4. 9 x: w1 n9 P+ B, B+ j5 z
  5. Sub main()" l! G5 f: Z4 N" |9 m
  6. 2 P: S9 e9 O) N$ q
  7.   Set swApp = Application.SldWorks
    ; H  O: Y0 {; N' e$ w
  8.   Dim swFilter As String
    ; [+ m+ N7 ]8 f
  9.   Dim fileName As String! l! d, Q6 ~+ F* |
  10.   Dim fileConfig As String& f2 I$ J. J. _; Q% k# c4 ]5 h3 C
  11.   Dim fileDispName As String! k% h; _! F8 Q$ i6 U& t
  12.   Dim fileOptions As Long
    0 O& L) S  a4 s8 }, |6 O2 T  G" t
  13.   swFilter = "SOLIDWORKS Files (*.sldprt; *.sldasm; *.slddrw)|*.sldprt;*.sldasm;*.slddrw"  ^4 H! e1 W2 O/ z
  14.   ' E' v) o$ r; ^% d% e9 h2 ~
  15.   ' Browse and get the Selected file name
    # m$ t' j  e7 o; V0 f  a. d6 z
  16.   fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)
    4 P4 T9 E8 Q9 I0 V5 C

  17. 4 G  V6 ~8 R8 h/ n8 r  W
  18. End Sub
复制代码
4 W2 M( h; g" t$ D) R% y& b

/ z$ Y& u$ B# {( r
 楼主| 发表于 2022-5-23 15:16:20 | 显示全部楼层 来自: 中国江苏常州
gt.adan 发表于 2022-5-20 09:38
. W, ?" n) ~' O% |代碼如下~

' ^" z0 W/ p" L/ P多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文件夹的路径就好。, ^, I, Y$ m% X; |  _
比如我们在”系统选项“设置 文件模板 位置的时候,只需要选择一个文件夹,现在就不知道在宏里怎么调用到和那一样的“选择文件夹”对话框。

点评

多加一行代碼就可以了…  详情 回复 发表于 2022-12-13 13:31
发表于 2022-12-13 13:31:53 | 显示全部楼层 来自: 中国台湾
lider2010 发表于 2022-5-23 15:163 H7 L0 t& w9 v5 ^1 K
多谢回复,您的代码是打开某个文件的,我现在是想要选择到某个文件夹位置,而不打开具体文件,只要得到文 ...

# a$ K/ N2 e0 v& A# f7 K多加一行代碼就可以了…
* E! {8 s! g7 l8 h9 |3 d- y2 c5 C, Q- A8 l( @: M- _
  1. Option Explicit3 l, z; ^0 b" V( C$ w

  2.   i2 W, \5 g5 k; Y) @% S$ u$ D
  3. Dim swApp As SldWorks.SldWorks
    ' c) z$ P4 d$ x
  4. Dim swFilter As String, fileName As String, fileConfig As String, fileDispName As String4 ?' A: q) n; V# T. g6 m* T
  5. Dim fileOptions As Long
    / d" k; o- @' V* X$ b& Y, H
  6. , S, [/ u  \! p: U3 \, }; ?
  7. Sub main()$ e$ k' O, O( B: _, g0 q
  8. Set swApp = Application.SldWorks
    - W- @7 s) {9 y. L% X
  9. swFilter = "All(*.*)|*.*"
    ; R0 _4 \8 A; M# G. r

  10. 3 K; f; p- Y" _' g) j* Z/ B3 c& [
  11. ' Browse and get the Selected file name
    ( A2 O# U- }. T  l0 v
  12. fileName = swApp.GetOpenFileName("Browse Document", "", swFilter, fileOptions, fileConfig, fileDispName)5 }* }9 v; l- f$ X
  13. ' Get the path of the selected file. x- r& k: [8 n: T/ Z* |
  14. fileName = Left(fileName, InStrRev(fileName, ""))& \, }' s. c5 s! |* U) z& ?
  15. Debug.Print fileName1 Q, `) D5 D) K$ U
  16. End Sub1 _9 \9 f3 Y2 A. \
复制代码
: ~3 i, H7 L* P0 ^0 T
6 F  X* t4 ?7 t. b/ P
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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