Jak odzyskać nazwę pliku za pomocą makra?

Witam

 

Właśnie odkryłem, jak działają makra, więc potrzebuję małej pomocy w dokończeniu mojego kodu. Po przeprowadzeniu różnych badań nie udało mi się sprawić, by mój kod działał tak, jak chciałem.

Cel makra jest prosty, chciałbym mieć możliwość odzyskania nazwy mojego pliku, aby móc nadać tę nazwę moim konfiguracjom. Zasadniczo, w przypadku plików części, które mają tylko jedną konfigurację, chciałbym zmienić nazwy wszystkich konfiguracji według nazwy pliku. Pozwoli mi to na tworzenie nomenklatur poprzez wybór nazwy konfiguracji i posiadanie wszystkich nazw.

Mam już trochę makra, które działa, ale musiałbym zastąpić XXXXX nazwą pliku, czego nie mogę zrobić w przeciwnym razie, gdy uruchamiam ten kod, zmienia nazwę konfiguracji na XXXXX.

Zobacz materiał SW 15

Dim swApp As Object

Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()


Ustaw swApp = Application.SldWorks

Ustaw część = swApp.ActiveDoc

boolstatus = Part.Extension.SelectByID2("Domyślnie", "KONFIGURACJE", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.EditConfiguration3("Domyślnie", "XXXXX", "", "", 36)
longstatus = Part.SaveAs3("C:\Users\pdepuydt\Desktop\Test MAcro\40x40 M10 tip. SLDPRT", 0, 2)
Koniec subwoofera

 

Z góry dziękuję

Witam

 

Wyślę Ci makro, które pozwoli Ci nagrać widok z kamery w formacie JPEG. Makro pobiera nazwę pliku.

Pozwolę Ci go poszukać, bo to mój informatyk zmodyfikował to makro


camera_vers_jpeg.swp

Znajduję w twoich kodach makr, które znalazłem w internecie, ale w rzeczywistości nie mogę ich wstawić do moich, aby działało.

Witam 

Próbować

NazwaPliku = Nazwa_Części.NazwaŚcieżki_Użytkownika


(lub FileName = Part.GetTitle Już nie wiem..)

1 polubienie

Gdzie mam go wstawić?

Pokazuje mi błędy za każdym razem, gdy próbuję go uruchomić

Witam

Dodałem rozwiązanie Martvy do twojego kodu:

**********************

Dim swApp As Object

Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()


Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc

filename = Część.GetTitle


boolstatus = Part.Extension.SelectByID2("Domyślnie", "KONFIGURACJE", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.EditConfiguration3("Domyślnie", Nazwa pliku, "", "", 36)


Koniec subwoofera

**********************

To rozwiązanie działa dobrze, ale jeśli w Eksploratorze Windows pokażesz rozszerzenia plików, nazwa konfiguracji zostanie zmieniona na nazwę pliku + sldprt

Mick

4 polubienia

Dziękuję bardzo, to działa!

Przypadkiem, jak usunąć rozszerzenia nazw plików?

w makrze czy w systemie Windows?

Jeśli jest w makrze to nie jestem wystarczająco dobry w vba, jeśli jest w Windowsie to jest o wiele prościej :)

Witam

Teraz moja kolej, aby dodać kod.

Aby usunąć rozszerzenie:

**********************

Dim swApp As Object

Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()


Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc

filename = Część.GetTitle

filename = Strings.Left(Nazwa pliku, Len(Nazwa pliku) - 7)


boolstatus = Part.Extension.SelectByID2("Domyślnie", "KONFIGURACJE", 0, 0, 0, Fałsz, 0, Nic, 0)
boolstatus = Part.EditConfiguration3("Domyślnie", Nazwa pliku, "", "", 36)


Koniec subwoofera

**********************

 

3 polubienia