| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
|
Autor
|
Thema: vba skizzierte symbole nach namen (938 mal gelesen)
|
dero2k Mitglied Technicher Zeichner ma bau

 Beiträge: 53 Registriert: 24.04.2009 Inventor 2008 (hauptsächlich) win xp
|
erstellt am: 29. Apr. 2013 10:38 <-- editieren / zitieren --> Unities abgeben:         
Hi habe mir ein macro erstellt was einen wert in einem skezzierten symbol ausfüllt. Code:
Dim odrawdoc As DrawingDocument Set odrawdoc = ThisApplication.ActiveDocument Dim Sym As SketchedSymbol Set Sym = odrawdoc.ActiveSheet.SketchedSymbols.Item(1) Dim otext As TextBox Set otext = Sym.Definition.Sketch.TextBoxes.Item(4) Call Sym.SetPromptResultText(otext, "xxx33x33") End Sub
funktioniert soweit auch ganz gut das einzige problem was ich noch habe das er das symbol über .Item(1) auswählt, also das zuerst gesetzte. nun ist das auszufüllende symbol aber nicht immer das zuerst gesetzte und damit die 1 falsch. kann ich es irgendwie auch über den namen "zusatzschriftfeld 2" anstelle der nummer ansprechen ? Danke Dero Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic
      

 Beiträge: 2933 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 29. Apr. 2013 11:14 <-- editieren / zitieren --> Unities abgeben:          Nur für dero2k
Hallo Probier doch einfach mal: Code: Set Sym = odrawdoc.ActiveSheet.SketchedSymbols.Item("zusatzschriftfeld 2")
Wenn das nicht klappt, mit einer For Each Schleife durch alle Symbole laufen und den Namen vergleichen. ------------------ MfG Ralf  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dero2k Mitglied Technicher Zeichner ma bau

 Beiträge: 53 Registriert: 24.04.2009 Inventor 2008 (hauptsächlich) win xp
|
erstellt am: 29. Apr. 2013 11:17 <-- editieren / zitieren --> Unities abgeben:         
hi danke für die antwort habe es aber in diesem moment so gelöst bekommen. Code:
Dim myidw As DrawingDocument Set myidw = ThisApplication.ActiveDocument Dim oSS As SketchedSymbol For Each oSS In myidw.ActiveSheet.SketchedSymbols If oSS.Definition.Name = "Zusatzschriftfeld 2" Then Set otext = oSS.Definition.Sketch.TextBoxes.Item(4) Call oSS.SetPromptResultText(otext, sMassstab1) End If Next End Sub
jetzt wäre noch die frage wie ich das macro über alle blätter einer zeichnung aufeinmal laufen lassen kann.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic
      

 Beiträge: 2933 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 29. Apr. 2013 12:32 <-- editieren / zitieren --> Unities abgeben:          Nur für dero2k
Hallo Code: Dim oSheet As Sheet For Each oSheet in myidw.Sheets For Each oSS In oSheet.SketchedSymbols ... Next Next
Aber ändert sich nicht automatisch in allen skizzierten Symbolen der Text wenn man eines ändert? ------------------ MfG Ralf  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
dero2k Mitglied Technicher Zeichner ma bau

 Beiträge: 53 Registriert: 24.04.2009 Inventor 2008 (hauptsächlich) win xp
|
erstellt am: 29. Apr. 2013 12:46 <-- editieren / zitieren --> Unities abgeben:         
|