Hallo allerseits!
ich habe heute versucht ein Makro zu programmieren, welches das aktive CATDrawing als TIF speichert. Jetzt denkt ihr sicher "Boah, alles schon ein Dutzend mal hier erklärt". Aber bei mir funktioniert es nicht, und der Witz ist dass ich das schon vor Jahren auch selber programmiert habe und dieses Makro täglich läuft. Also stehe ich irgendwie auf dem Schlauch und hoffe dass mir einer den Unterschied erklären kann.
Das erste Programm erhält nach jedem Speichern einer CATDrawing eine Datei mit einem oder mehreren Zeichnungsnamen und konvertiert diese Zeichnungen.
(funktioniert einwandfrei)
Sub CATMain()
CATIA.DisplayFileAlerts = False
On Error resume Next
Dim sDateiname AS CATBStr
Dim oFilesys As Filesystem
Set oFilesys = CATIA.Filesystem
Dim Datei As File
sDateiname = "K:\Konverter.txt"
IF oFilesys.Fileexists(sDateiname) then
Set Datei = OFilesys.Getfile("K:\Konverter.txt")
Dim DStrom As Textstream
Set DStrom = Datei.OpenAsTextStream("ForReading")
Dim Zeile As String
Do Until Dstrom.AtendofStream
Zeile = Dstrom.readline
IF oFilesys.Fileexists(zeile) Then
CATIA.Documents.Open(Zeile)
Set activedoc = CATIA.ActiveDocument
sTIFName = Replace(zeile, ".CATDrawing", ".Tif")
activedoc.Exportdata sTIFName, "tif"
activedoc.close
END IF
Loop
ELSE
MsgBox("Konverterliste nicht gefunden")
End If
CATIA.Application.Quit
End Sub
Das zweite Programm soll später über ein Icon ermöglichen, verschiedene Revisionsstände zu dokumentiern und soll noch erweitert werden. Aber schon die Konvertierung bricht mit der Meldung ab "Das Verfahren ExportData ist fehlgeschlagen". Ich habe das auch als VBScript und VBA versucht mit gleicher Meldung.
Sub CATMain()
Set oFenster = CATIA.Windows
If oFenster.Count = 0 Then
MsgBox ("Es ist kein Dokument geladen")
Exit Sub
End If
Dim oactivedoc
Set oactivedoc = CATIA.ActiveDocument
Dim oFilesys 'As Filesystem
Dim strDrwname 'As String
Dim strRname 'As String
Dim strBenutzer 'As String
Dim strDatum 'As String
Dim strDatTag 'As String
Dim strDatMonat 'As String
Dim strDatJahr 'As String
Dim oactsheets 'As DrawingSheets
Dim oactsheet 'As DrawingSheet
Dim oactsize 'As CatPaperSize
Dim oactorient 'As CatPaperOrientation
Dim stractpath 'As String
strBenutzer = CATIA.SystemService.Environ("USER")
If strBenutzer = "" Then strBenutzer = CATIA.SystemService.Environ("USERNAME")
If Day(Date) < 10 Then
strDatTag = "0" & Right(CStr(Day(Date)), 1)
Else
strDatTag = Str(Day(Date))
End If
If Month(Date) < 10 Then
strDatMonat = "0" & Right(CStr(Month(Date)), 1)
Else
strDatMonat = Str(Month(Date))
End If
strDatJahr = Right(CStr(Year(Date)), 2)
strDatum = strDatTag & "." & strDatMonat & "." & strDatJahr
strDrwname = Left(oactivedoc.Name, Len(oactivedoc.Name) - 11)
If TypeName(oactivedoc) <> "DrawingDocument" Then
MsgBox ("Das aktive Dokument ist kein DrawingDocument")
Else
MsgBox (strDrwname)
MsgBox (oactivedoc.Path)
MsgBox (strDatum)
opfad = oactivedoc.Path
Set oactsheets = oactivedoc.Sheets
Set oactsheet = oactsheets.ActiveSheet
oactsize = oactsheet.PaperSize
oactorient = oactsheet.Orientation
MsgBox (oactsize)
MsgBox (oactorient)
Set oFilesys = CATIA.FileSystem
If oFilesys.FileExists("C:\KWE\Eintest.tif") Then
MsgBox ("TIFF existiert")
Else
oactivedoc.ExportData "C:\KWE\EinTest.tif", "TIF"
End If
End If
End Sub
Könntet ihr mal bitte schauen ob ihr seht, wo ich den Fehler gemacht habe.
Vielen Dank im Voraus
Roger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP