| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: Farbstil per VBA ändern (1074 mal gelesen)
|
thomas100 Mitglied Konstrukteur

 Beiträge: 80 Registriert: 02.04.2002 ** SolidWorks **
|
erstellt am: 24. Nov. 2004 14:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Folgendes Problem: Ich möchte per VBA abfrage ob der Farbstil "usercolor" vorhanden ist und in alktiv setzten. So sieht derzeit mein Code aus, funzt aber net richtig. +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dim oPartDoc As PartDocument Dim oRenderStyle As RenderStyle Set oPartDoc = ThisApplication.ActiveDocument For Each oRenderStyle In oPartDoc.RenderStyles If oRenderStyle.Name = ("usercolor") Then Set oRenderStyle = oPartDoc.RenderStyles.Item("usercolor") oPartDoc.Update Exit Sub Else Debug.Print "Farbstil *usercolor* nicht vorhanden" End If Next End Sub ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Warum wird der Farbstil "usercolor" nicht Aktiv?? Danke
------------------ Grüße aus den schönen Oberösterreich Thomas ------------- Für Grammatik- und Rechtschreibfehler wird keine Haftung übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
   

 Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 24. Nov. 2004 14:37 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas100
|
thomas100 Mitglied Konstrukteur

 Beiträge: 80 Registriert: 02.04.2002 ** SolidWorks **
|
erstellt am: 25. Nov. 2004 09:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo Paul! Das hab ich schon mal gesehen. Leider hab ich keine Ahnung wie die Syntax aussehen muss. Bitte nochmals um HILFE. Danke Thomas ------------------ Grüße aus den schönen Oberösterreich Thomas ------------- Für Grammatik- und Rechtschreibfehler wird keine Haftung übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Nov. 2004 09:30 <-- editieren / zitieren -->
Hi, musst du mal so tun (is vielleicht des was du brauchst): Code:
Public Sub setRenderStyle() Dim oAsm as AssemblyDocument Set oAsm = ThisApplication.ActiveDocument Dim oOcc As ComponentOccurrence Set oOcc = oAsm.ComponentDefinition.Occurrences(1) Dim oDoc As Document Set oDoc = oOcc.Definition.Document oDoc.ActiveRenderStyle = oDoc.RenderStyles.Item("usercolor") oDoc.Update End Sub
|
thomas100 Mitglied Konstrukteur

 Beiträge: 80 Registriert: 02.04.2002
|
erstellt am: 29. Nov. 2004 09:44 <-- editieren / zitieren --> Unities abgeben:         
Danke für eure Hilfe. Habs mitlerweile hinbekommen :-) ------------------ Grüße aus den schönen Oberösterreich Thomas ------------- Für Grammatik- und Rechtschreibfehler wird keine Haftung übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Mitglied
 
 Beiträge: 243 Registriert: 19.04.2002 AIS7 und OSD
|
erstellt am: 29. Nov. 2004 11:57 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas100
|
thomas100 Mitglied Konstrukteur

 Beiträge: 80 Registriert: 02.04.2002
|
erstellt am: 29. Nov. 2004 12:53 <-- editieren / zitieren --> Unities abgeben:         
Public Sub chgcolor() Dim oPartDoc As PartDocument Dim oRenderStyle As RenderStyle Dim VarTrue As String Dim VarFalse As String Set oPartDoc = ThisApplication.ActiveDocument For Each oRenderStyle In oPartDoc.RenderStyles If oRenderStyle.Name = ("usercolor") Then VarTrue = 1 Else VarFalse = 0 End If Next GoTo VarPruef 'Prüft die Variable VarTrue ob Wert=1 VarPruef: If VarTrue = "1" Then oPartDoc.ActiveRenderStyle = oPartDoc.RenderStyles.Item("usercolor") oPartDoc.Update Else oPartDoc.ActiveRenderStyle = oPartDoc.RenderStyles.Item("Standard") oPartDoc.RenderStyles.Add ("usercolor") oPartDoc.ActiveRenderStyle = oPartDoc.RenderStyles.Item("usercolor") oPartDoc.Update End If 'Formular anzeigen frmchgcolor.Show 1 EX: Exit Sub End Sub ------------------ Grüße aus den schönen Oberösterreich Thomas ------------- Für Grammatik- und Rechtschreibfehler wird keine Haftung übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Mitglied
 
 Beiträge: 243 Registriert: 19.04.2002 AIS7 und OSD
|
erstellt am: 29. Nov. 2004 12:57 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas100
|
thomas100 Mitglied Konstrukteur

 Beiträge: 80 Registriert: 02.04.2002
|
erstellt am: 29. Nov. 2004 13:04 <-- editieren / zitieren --> Unities abgeben:         
Den Namen des Farbstils kann man frei bestimmen. Der Sinn meines Makros soll in Zukunft sein, dass man über eine Auswahlmenü die Farbe des Bauteils ändert. Dies passiert folgendermasen: 1 Farbstil "usercolor" erstellen und aktivieren (zuvor muss natürlich geprüft werden ob der Farbstil schon existiert. Dies passiert durch zwei Abfragen) 2 Farbe des Stils ändern ------------------ Grüße aus den schönen Oberösterreich Thomas ------------- Für Grammatik- und Rechtschreibfehler wird keine Haftung übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Mitglied
 
 Beiträge: 243 Registriert: 19.04.2002 AIS7 und OSD
|
erstellt am: 29. Nov. 2004 13:28 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas100
Hallo Thomas, verstehe ich es richtig, das die Farben im Bauteil "PartDocument" geändert werden sollen? Sollen die Änderungen auch Auswirkungen auf Zusammenbauten iam, oder gar Zeichnungsableitungen idw haben? Gruß und Dank! Arne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas100 Mitglied Konstrukteur

 Beiträge: 80 Registriert: 02.04.2002
|
erstellt am: 30. Nov. 2004 09:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo Arne! Mit "PartDocument" wird das aktuelle Bauteil angesprochen. Die Farbänderung hat keine Auswirkungen auf die Zeichnungsableitung. ------------------ Grüße aus den schönen Oberösterreich Thomas ------------- Für Grammatik- und Rechtschreibfehler wird keine Haftung übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Anzeige: | Infos zum Werbeplatz >> | BlechCAD 3D CAD APP für Blechverarbeitung Metallbau- Fassadenbau- Planer, die aus fertigen Ansichten und Schnitten von Blechen, die Abwicklung zu bearbeiten haben, für eine NC-Software und Kantbankdaten.
Speziell für Aufträge die immer verschiedene Blecharten und Abmessungen aufweisen.
Blechabwicklungen für die Fertigung erstellen in 2-3 Mi
|
|
Arne Mitglied
 
 Beiträge: 243 Registriert: 19.04.2002 AIS7 und OSD
|
erstellt am: 30. Nov. 2004 09:18 <-- editieren / zitieren --> Unities abgeben:          Nur für thomas100
|