Hide Table of Contents

Selective Open Post-Notify Event Example (VBA)

This example shows how to handle the post-notification event that fires when components are selected for Quick View/Selective Open.

'------------------------------------------------------

' Preconditions:

' 1. Create main module with Main module code.

' 2. Insert Class1 module with Class1 module code.

' 3. Specified file to open exists.

' 4. Run macro (F5).

'

' Postconditions:

' 1. When prompted, select components to open.

' 2. A message box displays.

' 3. Click OK.

' 4. Only the selected components display.

' 5. Inspect the Immediate Window.

'--------------------------------------------------------------------------

' Main module

'--------------------------------------------------------------------------

 

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swDocSpecification As SldWorks.DocumentSpecification

Dim swAssemblyEvents As Class1

Dim swAssembly As SldWorks.AssemblyDoc

 Option Explicit

Sub main()

    Set swApp = Application.SldWorks

    Set swDocSpecification = swApp.GetOpenDocSpec("C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\advdrawings\bowl and chute.sldasm")

    swDocSpecification.InteractiveComponentSelection = True

    swDocSpecification.DocumentType = swDocASSEMBLY

    Set swModel = swApp.OpenDoc7(swDocSpecification)

    

    Set swModel = swApp.ActiveDoc

    Set swAssembly = swModel

    

    ' Set up event

    

    Set swAssemblyEvents = New Class1

    Set swAssemblyEvents.swAssembly = swAssembly

End Sub

'---------------------------------------------------------------------------------------

' Class1 module

'---------------------------------------------------------------------------------------

Public WithEvents swAssembly As SldWorks.AssemblyDoc

Private Function swAssembly_SelectiveOpenPostNotify(ByVal NewAddedDisplayStateName As String, SelectedComponentNames As Variant) As Long

    MsgBox "A post-notification event has been fired for the selective open."

    Debug.Print "New display state name: " & NewAddedDisplayStateName

    Debug.Print "Selected component names:"

    Dim i As Long

    For i = 0 To UBound(SelectedComponentNames)

        Debug.Print "  " & SelectedComponentNames(i)

    Next

End Function



Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

 
*Email:  
Subject:   Feedback on Help Topics
Page:   Selective Open Post-Notify Event Example (VBA)
*Comment:  
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:

x

We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again
x

Web Help Content Version: API Help (English only) 2013 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.