Autor
|
Thema: Makro-Fehler 1002 (1104 mal gelesen)
|
xyon126 Mitglied Ingenieur
Beiträge: 74 Registriert: 07.11.2011
|
erstellt am: 26. Jun. 2012 22:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Freunde! Ich habe ein Problem. Ich möchte die Stücke eines Produkts am Ende der .0001 der erste, .0002 Name des Baumes, usw, usw. Anzahl aber ich bekomme Fehler 1002 in Zeile 44. Können Sie helfen Bitte und um Vergebung für mein Deutsch. Gruß Code: Sub CATMain() 'Crear objeto, Documento. Dim tmpDoc As Document Dim index ' as Integer Dim numero As String index = 1000 numero = ".000" 'Seleccionar todos los documentos abiertos. For Each tmpDoc In CATIA.Documents 'Modificar solo Parts y Products If InStr(1, tmpDoc.Name, ".CATProduct") > 0 Or InStr(1, tmpDoc.Name, ".CATPart") > 0 Then '-------------------------------- 'EDITAR NÚMERO DE PIEZA O INDEX '-------------------------------- Dim product1 As Product Dim documents1 As Documents Set documents1 = CATIA.Documents Set partDocument1 = CATIA.ActiveDocument Set product1 = partDocument1.GetItem(partDocument1.Name) if index > 9 Then numero = ".00" if index =>100 Then numero = ".0" if index =>1000 Then numero = "." End If End If End If Textdata = numero & index product1.PartNumber = product1.PartNumber & Textdata product1.Update End If index = index +1 Next End Sub
Das ist ein CATScript Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 27. Jun. 2012 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für xyon126
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 27. Jun. 2012 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für xyon126
Versuch es mal damit... Wenn ich mich nicht täusche, sollte es das sein, was du suchst. Es ist wohl VBA und nicht CATScript. Code:
Sub CATMain() Dim tmpDoc As ProductDocument Dim ChildDoc 'As Document Dim index As Integer Dim numero As String Dim i As Integer Set tmpDoc = CATIA.ActiveDocument index = 1 numero = ".000" If InStr(1, tmpDoc.Name, ".CATProduct") Then For i = 1 To tmpDoc.Product.Products.Count Set ChildDoc = tmpDoc.Product.Products.Item(i) If index >= 1000 Then numero = "." ElseIf index >= 100 Then numero = ".0" ElseIf index >= 10 Then numero = ".00" End If Textdata = numero & index ChildDoc.Name = ChildDoc.Name & Textdata index = index + 1 Next End If tmpDoc.Product.Update End Sub
------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xyon126 Mitglied Ingenieur
Beiträge: 74 Registriert: 07.11.2011
|
erstellt am: 27. Jun. 2012 10:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Rick! Zunächst vielen Dank für Ihre Hilfe. Beantworte ich Ihre Fragen.: Die Linie 44 ist: Set product1 = partDocument1.GetItem (partDocument1.Name) Und in Bezug auf Ihre Code ist perfekt, aber ich tue es in der "Instance name" und ich brauche die "Part Number", sowie die Datei umbenennen, um die Part Number und ich habe ein Makro, das ich tue. M.f.G. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xyon126 Mitglied Ingenieur
Beiträge: 74 Registriert: 07.11.2011
|
erstellt am: 28. Jun. 2012 07:29 <-- editieren / zitieren --> Unities abgeben:
hallo Rick! Ich veränderte den Code für mich die Teilenummer zu benennen, aber meiner Überraschung ist, dass wenn ein Produkt drei gleich große Stücke sie umbenennen, um mich dreimal mit diesem Ergebnis Beispiel. T1234.0001.0002.0003 wenn ich brauche, ist, dass nur einmal berühmtes Beispiel. T1234.0001, T456.0002 usw. Wie kann ich es beheben? Code: Sub CATMain() Dim tmpDoc As ProductDocument Dim ChildDoc 'As Document Dim index As Integer Dim numero As String Dim i As Integer Set tmpDoc = CATIA.ActiveDocument index = 1 numero = ".000" If InStr(1, tmpDoc.Name, ".CATProduct") Then For i = 1 To tmpDoc.Product.Products.Count Set ChildDoc = tmpDoc.Product.Products.Item(i) If index >= 1000 Then numero = "." ElseIf index >= 100 Then numero = ".0" ElseIf index >= 10 Then numero = ".00" End If Textdata = numero & index ChildDoc.PartNumber = ChildDoc.PartNumber & Textdata index = index + 1 Next End If tmpDoc.Product.Update End Sub
Vielen Dank
M.f.G. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|