许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  技术文档 >  sw运行宏时错误91未设置

sw运行宏时错误91未设置

阅读数 4
点赞 0
article_banner
在 SolidWorks(简称 SW)运行宏时出现 ‌“运行时错误 91:对象变量或 With 块变量未设置”‌,通常是因为 VBA 代码试图使用一个尚未被正确初始化(即未通过 Set 语句赋值)的对象变量,或该对象已被设为 Nothing。

常见原因与解决方法

‌对象变量未初始化‌

使用 Set 语句为对象变量分配有效引用。例如:

vb

Dim swApp As SldWorks.SldWorks

Set swApp = Application.SldWorks ' 必须有这行!

‌对象已被释放但仍被引用‌

若代码中执行过 Set swModel = Nothing,后续再调用 swModel 方法就会报错。应避免重复释放或在释放后继续使用。

‌中文版 SW 中基准面名称不匹配‌

在中文版 SolidWorks 中,基准面名称如“前视基准面”“上视基准面”,而代码若写成英文(如 "front" 或 "top"),会因找不到对应对象而失败。

‌正确示例‌:

vb

boolstatus = swModel.Extension.SelectByID2("上视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)

sw运行宏时错误91未设置

‌未引用或引用错误的对象库‌

确保在 VBA 编辑器中已添加对 ‌SolidWorks 类型库‌ 的引用:

工具 → 引用 → 勾选 “SldWorks Type Library”。

‌宏操作前未打开零件/装配体‌

若 swApp.ActiveDoc 为 Nothing(即无文档打开),直接调用其方法会出错。应先检查:

vb

If swModel Is Nothing Then

sw运行宏时错误91未设置

swApp.SendMsgToUser2 "请打开一个零件或装配体。", swMbStop, swMbOk

Exit Sub

End If

‌默认模板未设置(影响某些插件宏)‌

打开 SW → 工具 → 选项 → 系统选项 → 默认模板,指定零件和装配体模板。

调试建议

‌启用断点调试‌:在 VBA 编辑器中按 F8 单步执行,观察在哪一行报错。

‌检查变量值‌:将鼠标悬停在变量上,查看是否为 Nothing。

‌查看 Immediate 窗口‌:按 Ctrl+G 查看调试输出,确认对象是否成功创建。

参考资料

Microsoft Learn:未设置对象变量(错误 91) ‌‌

CSDN:SW 宏错误 91 解决案例 ‌‌

腾讯云:错误 91 常见场景分析 ‌‌

如能提供具体报错代码行,可进一步精准定位问题。

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空