Hide Table of Contents

Select Table Cells Example (VBA)

This example shows how to interpret the results of selecting table cells in various ways.

'-----------------------------------------------------
' Preconditions:
' 1. A drawing with a table, which has multiple rows
'    and columns, is open.
' 2. Open the Immediate window.
' 3. Select a column.
' 4. Run the macro.
'
' Postconditions:
' 1. The range for all of the cells in the column is
'    printed to the Immediate window. Examine
'    the Immediate window.
' 2. Hold down the Ctrl key and click a cell.
' 3. Repeat step 2 to select additional adjacent cells.
' 4. Run the macro again.
' 5. The range for each selected cell is printed to
'    the Immediate window. Examine the Immediate
'    window.
'--------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Sub main()
    Dim swModel             As SldWorks.ModelDoc2
    Dim swSelectionMgr      As SldWorks.SelectionMgr
    Dim swDrawing           As SldWorks.DrawingDoc
    Dim swAnnotation        As SldWorks.Annotation
    Dim swTableAnnotation   As SldWorks.TableAnnotation
    Dim firstRow            As Long
    Dim lastRow             As Long
    Dim firstColumn         As Long
    Dim lastColumn          As Long
    Dim idx                 As Long
 
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelectionMgr = swModel.SelectionManager
    Set swDrawing = swModel
    
    For idx = 1 To swSelectionMgr.GetSelectedObjectCount2(-1)
        Set swTableAnnotation = swSelectionMgr.GetSelectedObject6(idx, -1)
        Set swAnnotation = swTableAnnotation.GetAnnotation
        swTableAnnotation.GetCellRange firstRow, lastRow, firstColumn, lastColumn
        
        Debug.Print "First selected cell's row     = " & firstRow
        Debug.Print "Last selected cell's row      = " & lastRow
        Debug.Print "First selected cell's column  = " & firstColumn
        Debug.Print "Last selected cell's column   = " & lastColumn
        Debug.Print ""
        
    Next idx
    If (firstRow = -1) Then
            Debug.Print "Selected entire table!"
    End If
   
    swModel.ClearSelection2 True
End Sub


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:   Select Table Cells 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) 2018 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.