Message 1 of 6
Sheet.CopyTo Method

Not applicable
06-07-2010
10:43 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
I'm trying to use the method Sheet.CopyTo to export each sheet of an Inventor DWG multi-page, but I can not. Error messages are displayed in the annex. At first I thought that this method is only compatible with non-DWG IDW and Inventor. But, I tested the code below into a file IDW and not succeeded.
Any suggestions?
Public Sub ExportSheets()
Dim oSourceDocument As DrawingDocument
Set oSourceDocument = ThisApplication.ActiveDocument
Dim oNewDocument As DrawingDocument
Dim sNewDocument As String
Dim sNewDocumentPath As String
Dim sDrawingTemplateFile As String
sDrawingTemplateFile = "C:\Arquivos de programas\Autodesk\Inventor 2010\Templates\Standard.dwg"
sNewDocumentPath = "C:\Arquivos de programas\Autodesk\Inventor 2010\Samples\Models\Assemblies\Suspension\"
Dim oSheet As Sheet
Dim sSheetName As String
Dim vSheetNameParts As Variant
For Each oSheet In oSourceDocument.Sheets
sSheetName = oSheet.Name
vSheetNameParts = Split(sSheetName, ":")
sSheetName = vSheetNameParts(0) & "_" & vSheetNameParts(1)
'Criação de novo documento DWG
sNewDocument = sNewDocumentPath & sSheetName & ".dwg"
Set oSourceDocument = ThisApplication.ActiveDocument
Dim oNewDocument As DrawingDocument
Dim sNewDocument As String
Dim sNewDocumentPath As String
Dim sDrawingTemplateFile As String
sDrawingTemplateFile = "C:\Arquivos de programas\Autodesk\Inventor 2010\Templates\Standard.dwg"
sNewDocumentPath = "C:\Arquivos de programas\Autodesk\Inventor 2010\Samples\Models\Assemblies\Suspension\"
Dim oSheet As Sheet
Dim sSheetName As String
Dim vSheetNameParts As Variant
For Each oSheet In oSourceDocument.Sheets
sSheetName = oSheet.Name
vSheetNameParts = Split(sSheetName, ":")
sSheetName = vSheetNameParts(0) & "_" & vSheetNameParts(1)
'Criação de novo documento DWG
sNewDocument = sNewDocumentPath & sSheetName & ".dwg"
'Details: I found that there is an enumerator for Inventor DWG files, just to IDW.
Set oNewDocument = ThisApplication.Documents.Add(DocumentTypeEnum.kDrawingDocumentObject, sDrawingTemplateFile, False)
Set oNewDocument = ThisApplication.Documents.Add(DocumentTypeEnum.kDrawingDocumentObject, sDrawingTemplateFile, False)
Call oNewDocument.SaveAs(sNewDocument, False)
'oNewDocument.Close
'Copy the active sheet - When you run the line under the mistakes happen.
Call oSheet.CopyTo(oNewDocument)
Next
MsgBox "Folhas exportadas com sucesso!", vbInformation, "Exportação de Folhas"
End Sub
Thanks,
Ari Monteiro
Dharma Sistemas