Makro funktioniert nicht mehr mit SW 2017

Hallo Leute,

Das ist mein Problem. Ich habe ein Makro, mit dem Sie die Zeichnungsblätter nach dem Namen der in dieses Blatt eingefügten Konfiguration umbenennen können. Bis zur Version 2016 funktionierte es sehr gut. Ich habe gerade ein Upgrade auf 2017 SP4.1 durchgeführt und es funktioniert nicht mehr richtig. Es ändert sich nur der Name des 1. Blattes.

Und da ich nichts über VB weiß, bin ich in einem Chaos ...

Hier ist die Datei ...

Vielen Dank im Voraus

Cala


config_to_sheet.swp

Hallo 

Meldet Solid einen Fehler oder wird der Code kompiliert, aber nicht das tun, was Sie damit möchten?

 

Dimitri

Er gibt keine Fehler an.

Der Code läuft wie gewohnt ab, er ändert den Namen des 1. Blattes, geht zu den nächsten Blättern, ändert aber nicht den Namen. Er lässt den Namen bereits präsent.

Hallo

 

Nach Tests unter SW2016 funktioniert es bereits nicht sehr gut, weil

Keine Kontrolle des vorherigen Blattnamens, so dass die SW bei gleichem Namen der Konfiguration nicht mehrere Blätter mit demselben Namen umbenennen kann

3 „Gefällt mir“

Haben Sie es geschrieben oder haben Sie es mit dem Makrorecorder aufgenommen?

Ist es möglich, Konfigurationen mit demselben Namen im selben Raum zu haben? Ich glaube nicht.

Für meinen Gebrauch hat es immer sehr gut funktioniert... bis SW 2017

Weder geschrieben noch aufgezeichnet. Ich weiß nichts über VB, es ist eine Datei, die mir vor Jahren gegeben wurde.

Aber ich weiß nicht, woher es kommt.

Theoretisch ist es nicht möglich, aber auf der anderen Seite ist es in Ihrer Zeichnung möglich, dass die Referenzansicht immer die gleiche Konfiguration verwendet

 

Die Tracks sind wie folgt

SetupSheet5 ist veraltet, also aktualisieren Sie es bereits :)

http://help.solidworks.com/2017/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.idrawingdoc~setupsheet5.html

2 „Gefällt mir“

In der Tat könnte ich die gleiche Konfiguration in mehreren Blättern verwenden.

Aber in diesem Fall verwende ich dieses Makro nicht.

Es wird für meine Operationspläne verwendet

Hallo

Nur um sicherzugehen, Sie haben einen Raum mit x Konfigurationen, und die x Konfigurationen haben sie MEP in einer einzigen MEP-Datei mit einer Folio-Konfiguration?

1 „Gefällt mir“

Richtig!

Hallo

Sie können damit beginnen, die Zeile zu ersetzen:

swSheet.SetName Konfigurationsname

Bis:

swSheet.SetName ConfigName & "-" & i

Ihre Blätter werden dann "ConfigName"-"SheetName" genannt, es liegt an Ihnen zu sehen, ob dies nervig ist.

Herzliche Grüße

Danke für die Info, aber ich brauche sie nicht.

Gern geschehen, und ups, tut mir leid!

Wenn es sich um ein altes Makro handelt

Prüfen Sie, ob es sich nicht um das IFF handelt und ob sich das je nach Version unterscheidet

von SOLIDWORKS und Excel

und auch Excel SolidWorks Kompatibilität je nach Version

@+ ;-)

Guten Abend

Ich stimme gt22 zu, aber der einfachste Weg wäre, das Makro Schritt für Schritt zu scrollen, um das Verhalten zu sehen, und debug.print hinzuzufügen, um den Inhalt von configname zu überprüfen.

Darüber hinaus wäre es gut gewesen, die Grundkarte zu "zappen", nur die Ansichten zu scannen und die Verarbeitung zu stoppen, sobald ein Wert für die Konfiguration abgerufen wurde.

Ich bestätige auf der anderen Seite, dass es auf 2016 ohne Probleme funktioniert (auch wenn es in Bezug auf den Code nicht sehr sauber ist) und dass Solidworks in jeder Theorie keinen Spaß daran hat, die sogenannten veralteten Funktionen zu entfernen, also wahrscheinliche Fehler an anderer Stelle oder Hardware/Software-Inkompatibilität.

1 „Gefällt mir“

@gt22 & Cyril.f

Hola, ich bin verlassen. Ich verstehe überhaupt nicht, wovon Sie sprechen.

Kann jemand dieses Makro so korrigieren, dass es auf SW17 funktioniert?

Hier ist der Inhalt der .swp-Datei

Dim swApp als SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet als SldWorks.Sheet
Dim swModelview2 als Konfiguration
V-Sheets als Variante dimmen
Dim swView As SldWorks.View
Teil als Objekt dimmen
Dim i As Integer

Sub main()

"Die Vorlage befindet sich im Zeichnungsordner der SW-Vorlage

Legen Sie swApp = Application.SldWorks fest
Festlegen von swModel = swApp.ActiveDoc
Festlegen von swDraw = swModel
Dim ConfigName als Zeichenfolge
Dim bRet als boolescher Wert
Dim vSheetProps als Variante


vSheets = swDraw.GetSheetNames
Für i = 1 TB swDraw.GetSheetCount
swDraw.ActivateSheet vSheets(i - 1)
Legen Sie swSheet = swDraw.GetCurrentSheet fest

Anzahl = swDraw.GetModelViewCount

Legen Sie swView = swDraw.GetFirstView fest

Do While Not swView ist nichts
Konfigurationsname = swView.ReferencedConfiguration
Legen Sie swView = swView.GetNextView fest
Schleife
Set Part = swApp.ActiveDoc
boolstatus = Part.SetupSheet5(swSheet.GetName, 12, 12, 2, 3, True, "a3 - iso - NND.slddrt", 0.42, 0.297, "Default", True)
swSheet.SetName Konfigurationsname

Weiter i

swModel.ForceRebuild3 (Falsch)
Ende Sub
 

Hallo

Wenn Sie möchten, können Sie dieses ausprobieren.

Herzliche Grüße


config_to_sheet_2.swp
3 „Gefällt mir“

Ja, das funktioniert. Ergebnis in Bildern.

Vielen Dank d.roger !!!!!!!!!!

Schönes Wochenende.


macro_config_to_sheet_sw_2017.jpg