Hallo misterfpx,
in Deinem Fall würde ich das als Function anlegen; etwa so:
Public Function Zeichnung_Speichern(strFName As String) As Long
Dim drawingDocument0 As DrawingDocument
On Error GoTo SaveAs_ErrorHandler
Set drawingDocument0 = CATIA.ActiveDocument
drawingDocument0.SaveAs (strFName)
'falls beim speichern ein Fehler auftritt, geht's von hier in die Fehler-Routine;
'der return der fehlerroutine macht dann hier wieder weiter
'ohne fehlermeldung geht's sonst hier weiter
If Err.Number = 0 Then
MsgBox "Die Zeichnung wurde erfolgreich unter gespeichert" & _
vbCrLf & vbCrLf & filename_zeichnung & vbCrLf & vbCrLf & "gespeichert!", _
vbOKOnly Or vbInformation, "Save As"
End If
Zeichnung_Speichern = Err.Number 'den fehler ans programm zurückgeben
Exit Function
'---------------------------------------------------
SaveAs_ErrorHandler:
Dim errMsg As String
Dim errRet As VbMsgBoxResult
Select Case Err.Number
'case 58 'hier wären fehler a la 'file already exists(Error 58)' abzuhandeln
' Case 438
' Case -2147467259
Case Else
errMsg = Err.Number & ": " & Err.Description & " in procedure SaveAs"
errRet = MsgBox(errMsg, vbOKOnly, "SaveAs")
End Select
'nach bearbeiten der fehlermeldung entweder return(noch mal probieren) oder return next(ignorieren und weiter
'oder ohne Return raus aus der function
Return
End Function
Der Funktionsaufruf wäre dann:
Dim lRet as long
lRet = Zeichnung_Speichern(DerVollständigePfadStehtHier)
if lRet = 0 then
'weiter im programm
else
'auf fehler reagieren
Exit Sub 'oder End
endif
Oder kürzer:
if Zeichnung_Speichern(DerVollständigePfadStehtHier) <> 0 then exit sub
Wenn ich Deine Situation richtig einschätze, fängst Du mit VB/Catia-Makros grad an.
Als Stichworte der VB-Hilfe wären vermutlich 'Sub', 'Function', 'Error', 'Scope of Variables' interessant.
Hope it helps,
Joe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP