Autor
|
Thema: Blatt-Texte, COM-Schnittstelle (1496 mal gelesen)
|
Rolf K. Ehrenmitglied CAD-Konstrukteur
Beiträge: 1729 Registriert: 10.12.2002
|
erstellt am: 11. Dez. 2007 13:04 <-- editieren / zitieren --> Unities abgeben:
Hallo, im Blatt habe ich drei Texte mit gleichem Texttyp. Mit "Txt.SetText" will ich aber nur zwei Texte mit Werten beschreiben. Gibt es eine Möglichkeit im Script Texte vom gleichen Texttyp einzeln anzuwählen? ------------------ Es grüsst Rolf K. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
timmle Mitglied Entwicklungsing.
Beiträge: 234 Registriert: 17.02.2005
|
erstellt am: 11. Dez. 2007 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für Rolf K.
Hallo Rolf, ich dachte, das geht mit TextIds. ...aber mein Testprogramm funktioniert überhaupt nicht. Da werden nur 33 Ids gelistet. Vielleicht ist der Ansatz ja trotzdem irgendwie richtig.
Code: '=== ' Texte von einem Blatt anzeigen '=== Set objE3 = CreateObject("CT.Application") Set objPrj = objE3.CreateJobObject Set objSht = objPrj.CreateSheetObject Set objTxt = objPrj.CreateTextObjectobjPrj.GetSheetIds ShtIds BlattName = InputBox("", "Blattnummer") For i = 1 to UBound( ShtIds ) objSht.SetId ShtIds(i) If objSht.GetName = BlattName Then objSht.GetTextIds TxtIds objE3.PutMessage "=====" For j = 1 to UBound( TxtIds ) objTxt.SetId(j) objE3.PutMessage j & " : " & objTxt.GetText Next WScript.Quit End If Next objE3.PutError 0, "kein Blatt " + BlattName + " vorhanden!" WScript.Quit
------------------ Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rolf K. Ehrenmitglied CAD-Konstrukteur
Beiträge: 1729 Registriert: 10.12.2002 ELCAD 2020 SP2 e3.2021 Windows 10 zuhause: Paintshop Pro 2022 Cray XT4 Privileg SR 12 PR Chivers Lemon Jelly
|
erstellt am: 11. Dez. 2007 16:43 <-- editieren / zitieren --> Unities abgeben:
|
US1964 Mitglied Electrical Design Engineer
Beiträge: 2 Registriert: 10.11.2005
|
erstellt am: 08. Jan. 2008 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Rolf K.
Hallo zusammen, kann es sein das die Texte mit objsht.GetGraphIds(graphids) statt objSht.GetTextIds TxtIds anwählbar sind? Wenn Return value = 8, ist der Graph element vom Typ Text, siehe unten... ngraph = Sht.GetGraphIds(graphids) For g = 1 To ngraph graphe3.SetId(graphids(g)) GType = graphe3.GetTypeid If GType = 8 Then ....... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rolf K. Ehrenmitglied CAD-Konstrukteur
Beiträge: 1729 Registriert: 10.12.2002 ELCAD 2020 SP2 e3.2021 Windows 10 zuhause: Paintshop Pro 2022 Cray XT4 Privileg SR 12 PR Chivers Lemon Jelly
|
erstellt am: 08. Jan. 2008 14:31 <-- editieren / zitieren --> Unities abgeben:
|
Rolf K. Ehrenmitglied CAD-Konstrukteur
Beiträge: 1729 Registriert: 10.12.2002
|
erstellt am: 31. Jan. 2008 12:48 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von US1964: ... kann es sein das die Texte mit objsht.GetGraphIds(graphids) statt objSht.GetTextIds TxtIds anwählbar sind?...
Hallo US1964, in meinen Schulungsunterlagen steht folgendes: Zitat: Mit Hilfe des Graph-Objekts lassen sich Grafiken auf Blättern ändern und auch erzeugen.
Für die Blatt-Texte ist Dein Vorschlag deshalb vermutlich nicht geeignet.
------------------ Es grüsst Rolf K. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rolf K. Ehrenmitglied CAD-Konstrukteur
Beiträge: 1729 Registriert: 10.12.2002 ELCAD 2020 SP2 e3.2021 Windows 10 zuhause: Paintshop Pro 2022 Cray XT4 Privileg SR 12 PR Chivers Lemon Jelly
|
erstellt am: 04. Okt. 2008 18:49 <-- editieren / zitieren --> Unities abgeben:
Hallo, jetzt habe ich eine Lösung für die Blatttexte gefunden. Code: '=== ' Texte (Attribute) von einem Blatt anzeigen '=== Set objE3 = CreateObject("CT.Application") Set objPrj = objE3.CreateJobObject Set objSht = objPrj.CreateSheetObject Set objTxt = objPrj.CreateTextObject Set objAtt = objPrj.CreateAttributeObjectobjPrj.GetSheetIds ShtIds BlattName = InputBox("", "Blattnummer") For i = 1 to UBound( ShtIds ) objSht.SetId ShtIds(i) If objSht.GetName = BlattName Then 'Attributobjekt cnt = objSht.GetAttributeIds( attids ) For n = 1 To cnt objAtt.SetId attids(n) objE3.PutMessage "Name='" & objAtt.GetName & _ "' Value='" & objAtt.GetValue & "'" Next WScript.Quit 'Ende Attributobjekt End If Next objE3.PutError 0, "kein Blatt " + BlattName + " vorhanden!" WScript.Quit
------------------ Es grüsst Rolf K. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rolf K. Ehrenmitglied CAD-Konstrukteur
Beiträge: 1729 Registriert: 10.12.2002
|
erstellt am: 04. Okt. 2008 19:10 <-- editieren / zitieren --> Unities abgeben:
Hallo, in meinem Fall brauche ich eigentlich die Projekttexte, diese bekomme ich über den folgenden Skript. Code: '=== ' Texte (Attribute) von einem Projekt anzeigen '=== Set objE3 = CreateObject("CT.Application") Set objPrj = objE3.CreateJobObject Set objSht = objPrj.CreateSheetObject Set objTxt = objPrj.CreateTextObject Set objAtt = objPrj.CreateAttributeObject 'Attributobjekt cnt = objPrj.GetAttributeIds( attids ) For n = 1 To cnt objAtt.SetId attids(n) objE3.PutMessage "Name " & n & " = '" & objAtt.GetName & _ "' Value='" & objAtt.GetValue & "'" Next WScript.Quit
------------------ Es grüsst Rolf K. [Diese Nachricht wurde von Rolf K. am 04. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |