Code:
Function Zeilmitzeichnungkopieren(newdocname As String, Zielverzeichnis As String)
Dim Swapp As Object
Dim Tiefe, Breite, Hoehe As String
Dim SwDoc As Object
Dim Vorlage As String
Dim Vorlagenpfad, Kopierverzeichnis As String
Dim DateitypASM, DateinameNeu As String
Dim DateitypPRT, DateitypDRW As String
Dim newASMPathname As String
Dim longstatus As Long
Dim Fileerror As Long
Dim Filewarning As Long
Dim DraW As SldWorks.ModelDoc2
Dim Part As SldWorks.ModelDoc2
Dim PfadPRTASM As String
Dim PfadDRW As String
Dim DRWken As String
Dim docType As Variant
Dim NewDrawPath, NewDocPath As String
Dim Folder As String
Dim Dateiendnung As String
Dim Bret As Boolean
Set Swapp = Application.SldWorks
Set SwDoc = Swapp.ActiveDoc
PfadPRTASM = SwDoc.GetPathName
PfadDRW = Left(PfadPRTASM, Len(PfadPRTASM) - 7) & ".SLDDRW"
If Dir(PfadDRW) <> "" Then
DRWken = 1
Else
DRWken = 0
End If
docType = SwDoc.GetType
If docType = 1 Then
Dateiendnung = ".SLDPRT"
ElseIf docType = 2 Then
Dateiendnung = ".SLDASM"
ElseIf docType = 3 Then
MsgBox "Datei darf keine Drawing sein"
Dateiendnung = ".SLDDRW"
Else
MsgBox "dateiendung kann nicht vergeben werden"
End If
NewDocPath = Zielverzeichnis & newdocname & Dateiendnung
If DRWken = 1 Then
longstatus = SwDoc.SaveAs3(NewDocPath, 0, 2)
Set SwDoc = Swapp.ActiveDoc
Set SwDoc = Swapp.OpenDoc6(PfadDRW, 3, 0, "", Fileerror, Filewarning)
Swapp.ActivateDoc SwDoc.GetPathName
NewDrawPath = Zielverzeichnis & newdocname & ".SLDDRW"
longstatus = SwDoc.SaveAs3(NewDrawPath, 0, 2)
Swapp.CloseDoc SwDoc.GetPathName
'Set SwDoc = swApp.OpenDoc6(NewDrawPath, 3, 0, "", Fileerror, Filewarning)
'swApp.ActivateDoc SwDoc.GetPathName
Bret = Swapp.ReplaceReferencedDocument(NewDrawPath, PfadPRTASM, NewDocPath)
Debug.Assert Bret
'Set SwDoc = swApp.OpenDoc6(NewDrawPath, 3, 0, "", Fileerror, Filewarning)
'swApp.ActivateDoc SwDoc.GetPathName
Else
longstatus = SwDoc.SaveAs3(NewDocPath, 0, 2)
Swapp.CloseDoc SwDoc.GetPathName
End If
End Function