Hide Table of Contents

Copy Document and Its Dependencies Example (VB.NET)

This example shows how to copy a document and its dependencies to this macro's folder.

'---------------------------------------------------------------------------
' Preconditions: Open an assembly document.
'
' Postconditions:
' 1. The assembly document is closed.
' 2. The assembly document and its dependencies are copied to the macro folder.
'---------------------------------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System.Runtime.InteropServices
Imports System

Partial Class SolidWorksMacro

    
Sub main()

        
Dim source As String
        Dim target As String
        Dim sourcefile As String
        Dim traverse As Boolean
        Dim search As Boolean
        Dim addreadonlyinfo As Boolean
        Dim depends As Object
        Dim sourcefiles() As String = Nothing
        Dim targetfiles() As String = Nothing
        Dim idx As Integer
        Dim sourcecount As Integer
        Dim copyopt As Integer
        Dim errors As Integer
        Dim doc As ModelDoc2

        doc = swApp.ActiveDoc

        source = swApp.GetCurrentWorkingDirectory
        sourcefile = Right(doc.GetPathName, (Len(doc.GetPathName) - InStrRev(doc.GetPathName,
"\")))

        target = swApp.GetCurrentMacroPathName
        target = Left(target, InStrRev(target,
"\"))

        traverse =
True
        search = True
        addreadonlyinfo = False

        depends = swApp.GetDocumentDependencies2(sourcefile, traverse, search, addreadonlyinfo)

        
If IsNothing(depends) Then Exit Sub

        idx = 1
        
While idx <= UBound(depends)

            
ReDim Preserve sourcefiles(sourcecount)
            
ReDim Preserve targetfiles(sourcecount)

            sourcefiles(sourcecount) = depends(idx)
            targetfiles(sourcecount) = target + Right(sourcefiles(sourcecount), Len(sourcefiles(sourcecount)) - InStrRev(sourcefiles(sourcecount),
"\"))

            sourcecount = sourcecount + 1
            idx = idx + 2
        
End While

        swApp.CloseAllDocuments(True)

        copyopt = swMoveCopyOptions_e.swMoveCopyOptionsOverwriteExistingDocs
        errors = swApp.CopyDocument(source + sourcefile, target + sourcefile, (sourcefiles), (targetfiles), copyopt)

    
End Sub


    Public swApp As SldWorks


End Class

 

 



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:   Copy Document and Its Dependencies Example (VB.NET)
*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.