【问题标题】:Solidworks 2013 - Updating a macro and it errors on "GetCurrentSheet"Solidworks 2013 - 更新宏并在“GetCurrentSheet”上出错
【发布时间】:2015-10-26 18:07:06
【问题描述】:
Set swDocument = Application.SldWorks.ActiveDoc
Set Sheet = swDocument.GetCurrentSheet
MySheet = Sheet.GetName
MyPath = swDocument.GetPathName
Const swSelNOTES = 15

我正在使用 Solidworks 2010 宏并尝试将其更新到 Solidworks 2013,似乎他们已经删除/贬低了 Application.SldWorks.ActiveDoc 上的 GetCurrentSheet 属性。有人知道当前的获取方法吗?

【问题讨论】:

    标签: vba solidworks


    【解决方案1】:

    据我所知,ModelDoc2 对象上从来没有 GetCurrentSheet 方法,它实际上是 >DrawingDoc 类型。

    所以,阅读您的代码,我会假设 ActiveDoc 不是 DrawingDoc。 可以肯定的是,只需使用:

    Dim swApp       as SldWorks
    Dim swDrawing   as DrawingDoc
    Dim swDocument  as ModelDoc2
    
    Set swApp      = Application.SldWorks
    Set swDocument = swApp.ActiveDoc 
    Set swDrawing  = swDocument
    
    If swDrawing is Nothing Then
       MsgBox "No valid drawing doc!"
       Exit Sub
    End If
    

    或者

    Dim swApp       as SldWorks
    Dim swDrawing   as DrawingDoc
    Dim swDocument  as ModelDoc2
    
    Set swApp      = Application.SldWorks
    Set swDocument = swApp.ActiveDoc 
    
    If swDocument.GetType() <> swDocumentTypes_e.swDocDRAWING Then
       MsgBox "No valid drawing doc!"
       Exit Sub
    Else 
        Set swDrawing  = swDocument
    End If
    

    你知道是不是这样。我还建议您查看 API 文档中的以下附加信息:

    http://help.solidworks.com/2013/English/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.idrawingdoc~getcurrentsheet.html

    http://help.solidworks.com/2013/English/api/sldworksapi/Get_and_Set_Sheet_Properties_Example_VB.htm

    【讨论】:

      猜你喜欢
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 1970-01-01
      • 2016-11-07
      • 2016-05-22
      • 1970-01-01
      • 2015-04-25
      相关资源
      最近更新 更多