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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1750|回复: 4
打印 上一主题 下一主题

宏程序转到VB6,读属性失败,请版主和各位高手分析

  [复制链接]

5

主题

62

帖子

429

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1816

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

QQ
跳转到指定楼层
楼主
 楼主| 发表于 2022-3-9 15:24:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
我的宏,在转到VB6中后,读材料属性,返回为空,有时能返回属性内容,但评估值一直是空,有时,两个都是空串。
请看看程序有什么问题
  1. Set swApp=Application.SLDWORKS
  2. Set SubPartDoc = swApp.ActiveDoc  
  3.     ConfString = SubPartDoc.GetActiveConfiguration.Name
  4.         Set config = SubPartDoc.GetActiveConfiguration
  5.         Set CustPropMgr = config.CustomPropertyManager
  6.         lRetVal = CustPropMgr.Get5("Material", False, ValOut, ResolvedValOut, wasResolved)
复制代码
在VB6中调试执行或输出为EXE来执行,ResolvedValOut都是空串,ValOut有时为空,有时有正确值,
我的模型确认是设定了Material属性的,也设定好材料的。
同一个代码,在SW的宏编辑器中是OK的。

还有另一个是在网上找的,不打开文件 ,在资源管理器中读取文件的详细信息。用来读取SW文件的Description
同样在SW的宏编辑器中是OK的,但在VB6中使用时,别的详细信息都能读到,但读Description也是空串。
代码如下 :
  1. Function getfilePTY(ByVal strFl As String, ByVal key As String) As String
  2. Dim fso 'As FileSystemObject
  3. Dim fl 'As Scripting.File
  4. Dim pth As String
  5. Dim flname As String

  6. Dim shl As Shell32.shell
  7. Dim shfd As Shell32.folder
  8. Dim s As String
  9. Dim i

  10. 'Set fso = New FileSystemObject
  11. Set fso = CreateObject("scripting.filesystemobject")
  12. Set fl = fso.GetFile(strFl)
  13. pth = fl.ParentFolder.path
  14. flname = fl.Name

  15. Set shl = New shell
  16. Set shfd = shl.NameSpace(pth)

  17. For i = 0 To 500
  18. If shfd.GetDetailsOf(0, i) = key And shfd.GetDetailsOf(shfd.Items.Item(flname), i) <> "" Then
  19. Debug.Print shfd.GetDetailsOf(0, i), shfd.GetDetailsOf(shfd.Items.Item(flname), i)
  20. s = s & shfd.GetDetailsOf(0, i) & ": " & shfd.GetDetailsOf(shfd.Items.Item(flname), i) & Chr(10)
  21. End If
  22. Next i

  23. getfilePTY = s
  24. End Function
复制代码




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

使用道具 举报

0

主题

99

帖子

110

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
316
QQ
沙发
发表于 2022-3-9 17:02:01 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

38

主题

1002

帖子

1万

金币

版主

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

积分
24682

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

板凳
发表于 2022-3-9 19:41:07 | 只看该作者

   经典图书
只用VBA,不会VB,你只能等待高手的出现了。

第一个,凭感觉,可以尝试不用
  1. Set swApp=Application.SLDWORKS
复制代码

改为下面的试试
  1. Set swApp = CreateObject("SldWorks.Application")
复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

31

帖子

495

金币

版主

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

积分
1136

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

地板
发表于 2022-3-11 09:11:15 | 只看该作者
我这边没问题的,你把参数定义补全看看
  1. Dim swApp As SldWorks.SldWorks
  2. Dim SubPartDoc As SldWorks.ModelDoc2
  3. Dim config As SldWorks.Configuration
  4. Dim cusPropMgr As SldWorks.CustomPropertyManager
  5. Dim lRetVal As Long
  6. Dim ValOut As String
  7. Dim ResolvedValOut As String
  8. Dim wasResolved As Boolean


  9. Private Sub Form_Load()

  10.         Set swApp = CreateObject("sldworks.application")

  11.         Set SubPartDoc = swApp.ActiveDoc
  12.    
  13.         Set config = SubPartDoc.GetActiveConfiguration
  14.         Set custPropMgr = config.CustomPropertyManager
  15.    
  16.         lRetVal = custPropMgr.Get5("2ÄáÏ", False, ValOut, ResolvedValOut, wasResolved)
  17.         
  18.       Debug.Print "ValOut:" & ValOut
  19.       Debug.Print "ResolvedValOut:" & ResolvedValOut
  20.       Debug.Print "wasResolved:" & wasResolved
  21.       
  22. End Sub


复制代码

SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

90

帖子

100

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
292
QQ
5#
发表于 2022-3-11 10:41:35 | 只看该作者

   经典案例图书
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-6-3 00:54 , Processed in 0.152979 second(s), 24 queries , Memcache On.

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

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

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