Ändern der Konfiguration in Plänen (vba)

Hallo

Ich bin auf der Suche nach einer wohltätigen Seele, die mir hilft, ein Programm zu erstellen, um die Konfigurationen in der Zeichnung zu ändern. Lassen Sie mich das erklären.

Ich habe einen Raum mit mehreren Konfigurationen, ich muss für jede Konfiguration einen Plan erstellen (also für jede Konfiguration ein anderes Blatt). Ich habe bereits ein Makro zum Kopieren/Einfügen der Blätter und ein Makro zum Umbenennen der Blätter (derselbe Name wie der Name der Konfigurationen). Jetzt suche ich nach einem Code, um jedes Blatt zu durchlaufen und die Referenzkonfiguration der Zeichnung gemäß dem Namen meines Blatts oder direkt gemäß dem Namen meiner Konfiguration zu ändern.

Ich habe ein Makro auf dem Code-Stack gefunden, aber es macht alles (Kopieren / Einfügen benennt um und ändert die Konfiguration), ich habe versucht, es so zu ändern, dass es nur die Konfiguration ändert. Es funktioniert also, aber nur auf dem letzten Blatt. Ich kann mich auf den Blättern nicht kräuseln. Außerdem möchte ich, dass die 3 Schritte unabhängig voneinander sind, daher mein Problem.

Hat jemand eine Idee?

Codestack-Makro:

Das Makro überträgt die Konfigurationen aus dem referenzierten Dokument auf die Blätter von SOLIDWORKS Zeichnungen (codestack.net)

Das Ende der Codebearbeitung:

Sub CopySheet(zeichnen als SldWorks.DrawingDoc, Blatt als SldWorks.sheet, Blattname als Zeichenfolge)

Dim swNewSheet als SldWorks.sheet
Legen Sie swNewSheet = draw.sheet(draw. GetSheetNames()(zeichnen. GetSheetCount() - 1))
            
Dimmen von vViews als Variante
vViews = swNewSheet.GetViews
            
Legen Sie swDraw = swApp.ActiveDoc fest
Dimmen von vSheetNames als Variante
vSheetNames = swDraw.GetSheetNames
            
Dim i As Integer
Sun j As Integer
            
Für j = 0 TB UBound(vSheetNames)
            
Für i = 0 TB UBound(vViews)
                
Dim swView As SldWorks.View
Setze swView = vViews(i)
                
swView.ReferencedConfiguration = Blattname
                
Weiter i
Weiter j

Ende Sub

Hallo

Zu Ihrer Information, dies ist eine Funktion, die im SmartDrawings-Tool von myCADtools vorhanden ist:

https://help.visiativ.com/mycadtools/2022/fr/SmartDrawings4.html

Sie können das Tool 30 Tage lang testen: 

https://www.lynkoa.com/mycadtools

Schönen Tag

Philippe

1 „Gefällt mir“

Danke für die Antwort, aber ich wünschte, ich könnte darauf verzichten

Ich habe weiter an dem Code gearbeitet, aber ich verstehe dort nicht alles. In der Tat passt mein Code auf jeder Seite gut, lokalisiert die Ansichten gut, ändert aber nur die Konfiguration des letzten Blattes. Das ist dieser Punkt, den ich nicht verstehe. Warum ändert sich die Konfiguration der letzten Seite, aber nicht der anderen?

Ich habe meinen Code in PJ eingefügt, wenn jemand eine Idee hat , wäre es top top top.

Vielen Dank

Bearbeiten: Nach ein wenig Tüfteln habe ich festgestellt , dass sich die Konfiguration auf der letzten Seite (mit der richtigen Konfiguration) ändert, aber wenn ich meinen Code so bearbeite, dass sich die Konfiguration auf einer anderen Seite ändert, ändert er sich immer für die gleiche Konfiguration (die letzte) und nicht für die Konfiguration , die dem Namen der Seite entspricht 


macro28.swp

Hallo;

Ihr "SheetName"-Wert ist nicht "variable"...
Direkt über der Zeile swView.ReferencedConfiguration = SheetName
Add Set SheetName = SheetNames(j)

Hinweis: Zögern Sie nicht, den "Schritt für Schritt"-Modus (F8) des VB-Editors zu verwenden (wenn das lokale Visualisierungsfenster "Variablen" aktiv ist).
            Dies macht es viel einfacher, den Code zu verstehen und Fehler zu finden....


Herzliche Grüße

1 „Gefällt mir“

Hallo

Leider funktioniert die Korrektur nicht.

Herzliche Grüße

Hallo

Leider funktioniert die Korrektur nicht.

Herzliche Grüße