To jest mój problem. Posiadam makro, które pozwala na zmianę nazw arkuszy rysunków na nazwę konfiguracji wstawionej w tym arkuszu. Do wersji z 2016 roku działało to bardzo dobrze. Właśnie zaktualizowałem do 2017 SP4.1 i już nie działa poprawnie. Zmienia tylko nazwę 1. arkusza.
Po przetestowaniu pod SW2016 już nie działa zbyt dobrze, ponieważ
Brak kontroli nad poprzednią nazwą arkusza, więc jeśli konfiguracja ma tę samą nazwę, oprogramowanie nie może zmienić nazwy wielu arkuszy o tej samej nazwie
Zgadzam się z gt22, ale najprostszym sposobem byłoby przewinięcie makra krok po kroku, aby zobaczyć zachowanie i dodanie debug.print, aby sprawdzić zawartość configname.
Dodatkowo dobrze byłoby "zapować" mapę bazową, zeskanować tylko widoki i zatrzymać przetwarzanie po uzyskaniu wartości w konfiguracji.
Z drugiej strony potwierdzam, że działa na 2016 roku bez problemu (nawet jeśli nie jest zbyt czysty pod względem kodu) i że w każdej teorii Solidworks nie ma zabawy z usuwaniem tzw. przestarzałych funkcji, więc prawdopodobny błąd gdzie indziej lub niekompatybilność sprzętowo-programowa.
Hola, jestem porzucony. W ogóle nie rozumiem, o czym mówisz.
Czy ktoś może naprawić to makro, aby działało na SW17?
Oto zawartość pliku .swp
Dim swApp jako SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swDraw jako SldWorks.DrawingDoc Przyciemnij swSheet jako SldWorks.Sheet Dim swModelview2 As Konfiguracja Przyciemnij vSheets jako wariant Dim swView As SldWorks.View Przyciemnij część jako obiekt Dim i As Liczba całkowita
Sub main()
'Szablon znajduje się w folderze z rysunkami szablonu oprogramowania
Ustaw swApp = Application.SldWorks Ustaw swModel = swApp.ActiveDoc Ustaw swDraw = swModel Dim ConfigName As String Dim bRet As Boolean Przyciemnij vSheetProps jako wariant
vSheets = swDraw.GetSheetNames Dla i = 1 TB swDraw.GetSheetCount swDraw.ActivateSheet vSheets(i - 1) Ustaw swSheet = swDraw.GetCurrentSheet
Liczba = swDraw.GetModelViewCount
Ustaw swView = swDraw.GetFirstView
Zrób Póki Nie SwView To Nic ConfigName = swView.ReferencedConfiguration Ustaw swView = swView.GetNextView Pętla Ustaw część = swApp.ActiveDoc boolstatus = Part.SetupSheet5(swSheet.GetName, 12, 12, 2, 3, True, "a3 - iso - NND.slddrt", 0.42, 0.297, "Default", True) swSheet.SetName Nazwa_konfiguracji