excel - 为什么我的宏无法与solidworks 连接?
问题描述
昨晚我在使用excel,我的宏停止工作。它链接到一个solidworks 文件。这个宏已经使用了3-4年,直到昨晚都没有问题。
我在“Part.SketchManager.InsertSketch True”这一行周围收到错误 91 没有对文件进行任何更改,除了我在上次运行宏时按下了转义键以尝试停止宏。对于它停止工作的原因,这可能是巧合,也可能不是巧合。我没有编写此代码,也无法联系编写此代码的人。请帮我修复它。
代码是:
Dim swApp As Object
Dim Part As Object
Dim boolStatus As Boolean
Dim longStatus As Long, longwarnings As Long
Dim conv As Double
Dim angle As Double
Dim counter As Double
Dim SelMgr As Object
Dim value As Double
Dim Feature As Object
Dim vPoint As Variant
Dim droop_Steps As Integer
Dim step_Size As Double
Dim comp_Steps As Integer
Dim front_row As Integer
Sub plotmotion()
angle = 57.2957795
conv = 0.0254
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Dim myDimension As Object
Part.SketchManager.InsertSketch True
front_row = 1
boolStatus = Part.Extension.SelectByID2("plot", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSketch
For counter = 0.887 To 0 Step -0.005
front_row = front_row + 1
Set myDimension = Part.Parameter("Sheave Travel@plot")
myDimension.SystemValue = counter * conv
Excel.Range("E" & CStr(front_row)) = Part.Parameter("Sheave Travel@plot@RAMP 20-1.Part").SystemValue
Excel.Range("I" & CStr(front_row)) = Part.Parameter("R@plot@RAMP 20-1.Part").SystemValue
Excel.Range("F" & CStr(front_row)) = Part.Parameter("H@plot@RAMP 20-1.Part").SystemValue
Excel.Range("G" & CStr(front_row)) = Part.Parameter("L@plot@RAMP 20-1.Part").SystemValue
Excel.Range("H" & CStr(front_row)) = Part.Parameter("theta@plot@RAMP 20-1.Part").SystemValue * angle
Next counter
Part.SketchManager.InsertSketch True
End Sub
解决方案
使用CreateObject()会启动一个新的 SOLIDWORKS 流程,并且默认情况下是隐藏的。然后您尝试立即使用ActiveDoc属性,但在此新进程中没有打开文档,然后以下行将触发错误。有时,连接已打开的 SOLIDWORKS 流程会像这样工作 - 但并非总是如此!
如果您想连接到打开的 SOLIDWORKS 流程,您应该Set swApp = GetObject(, "SldWorks.Application")
改用。
推荐阅读
- vuetify.js - 我可以使用代码拆分从旧版本的 Vuetify 迁移到新版本吗?
- xcode - 使用 XCode 实现 AppleTV 系统的 UI 自动化
- c++ - 递归向量时间复杂度之和
- python - Python 错误:“中断在循环之外”
- firebase - 在 Flutter 中具有角色库授权的 Firestore 和 google auth
- flutter - 从 API 返回的 JSON 本地化字符串无效
- sapb1 - B1 打印和交付条件操作当前用户
- python - 以下情况如何正确使用抽象类
- java - 如何正确使用 MapStruct @Mapping 和 @Mappings?
- java - 带有 JButton 的 ActionListener 问题