Sub CATMain() '__________________Ansicht bestimmen_________________________________ On Error Resume Next Dim drawingDocument1 As Document Set drawingDocument1 = CATIA.ActiveDocument Dim drawingSheets1 As DrawingSheets Set drawingSheets1 = drawingDocument1.Sheets Dim drawingSheet1 As DrawingSheet Set drawingSheet1 = drawingSheets1.ActiveSheet Dim drawingViews1 As DrawingViews Set drawingViews1 = drawingSheet1.Views Dim drawingView1 As DrawingView Set drawingView1 = drawingViews1.ActiveView drawingView1.Activate Set drawingViews1 = drawingSheet1.Views '################################### Set drawingView1 = drawingViews1.Item("Vorderansicht")'Item(4) If Err Then Box = MsgBox(" !! Es ist ein Fehler aufgetreten !! " + Chr(10) + Chr(10)+ "Das Makro kann nicht weiter ausgefuehrt werden!" + Chr(10) + "das Macro wird abgebrochen" + Chr(10) + "moeglicher Fehler:" + Chr(10) + "es fehlt eine Vorderansicht bitte bennennen Sie eine Ansicht in Vorderansicht um" + Chr(10) + "und starten Sie das Makro erneut", vbCritical, "Abbruch") msgbox "möglicher Fehler es fehlt eine Vorderansicht bitte bennennen Sie eine Ansicht in Vorderansicht um" Exit sub end if '__________________________Dateipad LESEN___________________________________________ FullName = drawingView1.GenerativeBehavior.document.ReferenceProduct.Parent.Fullname CATIA.Documents.Open(FullName) Set oDocument = CATIA.ActiveDocument If TypeName(oDocument) = "PartDocument" Then '------- hier Code wenn noetig ------------ Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument Dim part1 As Part Set part1 = partDocument1.Part Dim parameters1 As Parameters Set parameters1 = part1.Parameters '------------------------------- Param lesen ------------------------------------------------- Dim strParam1 As Parameter Set strParam1 = parameters1.Item("POS_NR") StrPOS_NR = strParam1.Value Set strParam1 = parameters1.Item("SNR") StrSNR = strParam1.Value '------------------------------- Param lesen ------------------------------------------------- '############# Daten lesen ################# part1.Update '------- hier Code wenn noetig ------------ 'PartDoc If ErrorReturn = 1 Then Exit Sub End If 'Set oDocument = CATIA.ActiveDocument oDocument.Close End If '***************************************************************** UseName = CATIA.SystemService.Environ("USERNAME") 'Msgbox UseName if UseName = "M.Mustermann" Then NameU = "M.M" end if Datum1 = CStr(Date) Datum2 = mid(Datum1, InStrRev(Datum1, ".") + 1) Datum3 = Left(Datum1, Len(Datum1) -4 ) 'Right Left Datum4 = Right(Datum2, Len(Datum2) -2 ) 'Right Left Datum_ersteller = Datum3 + Datum4 'msgbox "Datum2 " + Datum2 'msgbox "Datum3 " + Datum3 'msgbox "Datum4 " + Datum4 'Msgbox Datum '__________________Ansicht bestimmen_________________________________ Set oDraw = CATIA.ActiveDocument ' Zeichnung als aktives Dokument bestimmen Set oSheets = oDraw.Sheets oDraw.Sheets.Item(1).Activate Set oSheet = oSheets.ActiveSheet oSheet.Activate Dim j As Integer dim i as integer dim oText as DrawingText dim ocText as DrawingTexts 'Schleife geht durch alle Texte eines Views durch 'Musst nur rausfinden, welche View der BackgroundView ist 'Und den an drawingView1 zuweisen For k = 1 To oDraw.Sheets.Count 'Schleife fuer alle Sheets Set oSheet = oDraw.Sheets.Item(k) 'If oSheet.IsDetail Then 'Ist das Sheet kein Detail-Sheet? For j = 1 To oSheet.Views.Count 'Schleife fuer alle Views im Sheet Set oView = oSheet.Views.Item(j) Set ocText = oView.Texts Z = 0 For s = 1 To ocText.Count Set oText = ocText.Item(s) If oText.Name = "TitleBlock_Text_POS_NR" Then oText.Text = StrPOS_NR Z = 1 End If If oText.Name = "TitleBlock_Text_SNR" Then oText.Text = StrSNR Z = 1 End If Next Next Next Set drawingViews1 = drawingSheet1.Views Set drawingView1 = drawingViews1.Item ("Vorderansicht") 'Item(4) drawingView1.Activate End Sub