Autor
|
Thema: Umbenennung von Bauteilen bei geöffnetem Fenster (639 mal gelesen)
|
worst_case Mitglied
Beiträge: 140 Registriert: 19.09.2004
|
erstellt am: 11. Apr. 2008 08:35 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich benutze das SCript das mir Bauteile automatisch nummeriert. Nun will ich aber nicht das alle Seiten automatisch nummeriert werden, sonden nur diese die geöffnet sind, oder aber auch nur das Blatt das den Focus hat. Beides getrennt wäre super. Wie stelle ich es an, das ich eine Liste von geöffneten Fenstern bekomme ?? Gruß worst_case ------------------ Danke worst_case 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. Apr. 2008 09:10 <-- editieren / zitieren --> Unities abgeben: Nur für worst_case
Hallo worst_case, der Script listet die offenen Blätter im Ausgabefenster:
Code: Set objE3 = CreateObject("CT.Application") Set objPrj = objE3.CreateJobObject Set objSht = objPrj.CreateSheetObjectIf objPrj.GetId = 0 Then MsgBox "Kein Projekt geöffnet" : WScript.Quit If objPrj.GetSheetCount < 1 Then MsgBox "Keine Blätter im Projekt vorhanden" : WScript.Quit 'alle BlattIds holen objPrj.GetSheetIds ShtIds 'geöffnete Blattnamen anzeigen objE3.PutMessage "geöffnete Blätter:" For i = 1 to UBound( ShtIds ) objSht.SetId ShtIds(i) if objSht.visible then objE3.PutMessage objSht.GetName end if Next WScript.Quit
Du kannst sie natürlich auch in eine Textdatei schreiben.------------------ Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
worst_case Mitglied
Beiträge: 140 Registriert: 19.09.2004
|
erstellt am: 11. Apr. 2008 09:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich komme hier einfach nicht zurecht. Ich füge einmal den Anfang meines Scriptes hier ein. Hier muss ja entschieden werden woher das Script die Daten hat. "Meine Änderungsversuche inbegriffen" Code: ' Connect to application and declare object variables to call methods later set App = CreateObject( "CT.Application" ) set Job = App.CreateJobObject Set Sht = Job.CreateSheetObject set Device = Job.CreateDeviceObject set Symbol = Job.CreateSymbolObject set Text = Job.CreateTextObject set Component= Job.CreateComponentObject set Sheet = Job.CreateSheetObject set WshShell = CreateObject("WScript.Shell")message = """" & App.GetInstallationPath & "scripts\message.vbs" & """" DeviceLetterCode = "DeviceLetterCode" if Job.GetId = 0 then WshShell.run message & " No_Project" wscript.quit end if If Job.GetSheetCount < 1 Then MsgBox "Keine Blätter im Projekt vorhanden" WScript.Quit 'nDevices = Job.GetAllDeviceCount 'if nDevices = 1 then ' WshShell.run message & " No_Components" ' wscript.quit 'end if
'Job.GetAllDeviceIds DevIds Job.GetSheetIds DevIds 'ShtIds redim NewNames(nDevices) redim NewIds(nDevices)
NewNumber = 0 for iDev = 1 to nDevices Device.SetId DevIds(iDev) '------------------------------------------------------ ' Eigenbau von mir ' Hier wird nicht automatisch nummeriert, wenn Attribute vorhanden ist if Device.HasAttribute ("noautonumber") = 0 then '------------------------------------------------------ if Device.IsTerminal = 0 and Device.IsTerminalBlock = 0 and Device.GetAssemblyId = 0 then if Device.IsAssembly = 1 then nAss = Device.GetDeviceIds (AssIds) redim SymIds(1000) nSymbols = 0 for iAss = 1 to nAss Device.SetId AssIds(iAss) if iAss = 1 then
------------------ Danke worst_case 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. Apr. 2008 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für worst_case
|
worst_case Mitglied
Beiträge: 140 Registriert: 19.09.2004
|
erstellt am: 14. Apr. 2008 09:42 <-- editieren / zitieren --> Unities abgeben:
|
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: 15. Apr. 2008 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für worst_case
|
worst_case Mitglied
Beiträge: 140 Registriert: 19.09.2004
|
erstellt am: 23. Apr. 2008 09:38 <-- editieren / zitieren --> Unities abgeben:
|
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. Mai. 2008 22:20 <-- editieren / zitieren --> Unities abgeben: Nur für worst_case
Zitat: ... Device.GetAssemblyId = 0 then if Device.IsAssembly = 1 ...
Hallo worst_case, meiner Meinung nach widersprechen sich diese beiden Bedingungen. Aus der Scripting-Hilfe: Code: ... If the current device belongs to a block, assembly or terminal, it returns the device identifier of the 'master' device. In all other cases (ungrouped standard devices, connectors, cables), this method returns 0. ... GetAssemblyId returns an assembly device if the current device is part of an assembly...
------------------ Es grüsst Rolf K. [Diese Nachricht wurde von Rolf K. am 11. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |