Autor
|
Thema: In Drawing String von anderem Blatt auslesen (1108 mal gelesen)
|
HoLate Mitglied
Beiträge: 16 Registriert: 17.09.2009
|
erstellt am: 18. Sep. 2009 12:33 <-- editieren / zitieren --> Unities abgeben:
|
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 18. Sep. 2009 16:58 <-- editieren / zitieren --> Unities abgeben: Nur für HoLate
|
tobul Mitglied Physiker
Beiträge: 191 Registriert: 06.05.2003 Catia-V5 R24-R30 Delmia R19-R30 NX 12,1892 Windoof 7,10
|
erstellt am: 18. Sep. 2009 17:27 <-- editieren / zitieren --> Unities abgeben: Nur für HoLate
Hallo! Wie Daniel schon geschrieben hat, ist Deine Frage reichlich unspezifisch. Mein Vorschlag wäre: aktuelles Blatt merken auf anderes Blatt wechseln Textfeld finden Text auslesen auf gemerktes Blatt zurück wechseln Gut so?? salu' tobul Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Sep. 2009 18:19 <-- editieren / zitieren --> Unities abgeben: Nur für HoLate
Servus Ich nehme an dass sich die Frage auf den Beitrag bezieht. Könnte so klappen (ungetestet): Code: CATMain () Dim Zeichnung as Document Set Zeichnung = CATIA.Documents.ActveDocument 'Zeichnungsnummer auslesen Set Blatt = Zeichnung.Sheets.Item("Details") Set Texte = Blatt.Views.Item(2).Texts For n = 1 to Texte.Count If Texte.Item(n).Name = "Text.67" then Zeichnungsnummer = Texte.Item(n).Text Exit For EndIf next End Sub
Gruß Bernd------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoLate Mitglied
Beiträge: 16 Registriert: 17.09.2009
|
erstellt am: 19. Sep. 2009 20:22 <-- editieren / zitieren --> Unities abgeben:
Hallo bgrittmann, wenn ich das jetzt richtig verstehe, gehst Du in deinem Makro davon aus, dass sich das Textfeld im Blatthintergrund befindet. Was müsste ich ändern um dasn Textfeld in der Arbeitsansicht auszulesen. Meine Ausgangssituation: Ich befind mich in der geöffneten Drawing in Blatt 1 und möchte die Zeichnungsnummer die in Blatt "Details" in einem Textfeld in der Arbeitsansicht ist, auslesen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 19. Sep. 2009 21:44 <-- editieren / zitieren --> Unities abgeben: Nur für HoLate
|
HoLate Mitglied
Beiträge: 16 Registriert: 17.09.2009
|
erstellt am: 21. Sep. 2009 08:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, der Wert von "Text.73" wird nicht in Zeichnungsnummer geschrieben. Wenn ich in Blatt "Details" im Blatthintergrund ein Textfeld einfüge kann ich diesen mit diesem Makro "Set Texte = Blatt.Views.Item(2).Texts" auslesen. In der Arbeitsansicht funktioniert das nicht. Das Blatt "Details" ist ein Detailblatt und hat einen blauen Hintergrund. ___________________________________________________________ Sub CATMain () Dim Zeichnung As Document Dim Zeichnungsnummer As String
Set Zeichnung = CATIA.ActiveDocument 'Zeichnungsnummer auslesen Set Blatt = Zeichnung.Sheets.Item("Details") Set Texte = Blatt.Views.Item(3).Texts For n = 1 to Texte.Count If Texte.Item(n).Name = "Text.73" then Zeichnungsnummer = Texte.Item(n).Text Exit For End If next msgbox (Zeichnungsnummer) End Sub ___________________________________________________________ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Sep. 2009 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für HoLate
Servus Hast du mehrere 2D-Komponenten auf dem Blatt? Bei mir funktioniert es mit dem Code, wenn sich der Text in der 1. Ansicht des Blatts "Details" befindet. Wenn sich der Text direkt "auf dem Blatt" befindet (nicht in einer Ansicht) sollte es mit der Zeile: Set Texte = Blatt.Views.Item(1).Textsklappen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoLate Mitglied
Beiträge: 16 Registriert: 17.09.2009
|
erstellt am: 21. Sep. 2009 12:25 <-- editieren / zitieren --> Unities abgeben:
"Hast du mehrere 2D-Komponenten auf dem Blatt?" das wird die Ursache sein. Das Texfeld ist Bestandteil einer 2D-Komponente "Sdandard Schriftfeld/ViewMakeUp.8/Details" Wie schaut denn dann der Code aus? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Sep. 2009 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für HoLate
Servus Ich würde es mal mit: Set Texte = Blatt.Views.Item("Standard Schriftfeld").Textsversuchen. Schau dir doch dazu mal die "V5Automation.chm" an. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoLate Mitglied
Beiträge: 16 Registriert: 17.09.2009
|
erstellt am: 21. Sep. 2009 13:58 <-- editieren / zitieren --> Unities abgeben:
|