Odzyskiwanie nazwy folderu bez ścieżki

Witam

Próbuję pobrać nazwę folderu (plik klienta), a następnie nazwę podfolderu (folder biznesowy), aby automatycznie wyświetlić je w mojej tabelce rysunkowej.

Dzięki właściwości "nazwa folderu" mogę wyświetlić ścieżkę folderu, a nie jego nazwę, widziałem samouczek, aby wybrać tylko część szukaną w tej ścieżce, ale nie mogę już jej zdobyć. 

Chciałbym wyświetlić w moim bloku KLIENT ..........    CASE ............, oba pobrane z folderów systemu Windows.

Jeśli to możliwe, bez użycia PDM.

Dziękuję.

Witam

Jest to możliwe za pomocą makra lub może równań, zobacz te linki:

http://www.lynkoa.com/forum/solidworks/comment-recuperer-le-nom-d-un-fichier-avec-une-macro

http://www.lynkoa.com/store/fr/vba-solidworks-nom-fichier.html

 

1 polubienie

Dziękuję PL

Ale musiałbym pobrać nazwę folderu, a nie nazwę pliku.

Udaje mi się zrobić makro, ale tylko dla jednego pliku, powinienem być w stanie odzyskać nazwę folderu, ale z linkiem do kawałka. 

Wydaje mi się, że coś znalazłem, ale potrzebowałbym pomocy w jego zastosowaniu, udało mi się skopiować i wkleić kod do makra, uruchamiam makro ale nic się nie dzieje. 

https://forum.solidworks.com/thread/65304#345645

Witam

Czy każda zmienna w makrze została prawidłowo zaadresowana?

 

Opcja jawna  

  

 Sub main()  

  

    Dim swApp                      jako SldWorks.SldWorks  

    Dim swModel                    As SldWorks.ModelDoc2  

     Przyciemnij swPart                      jako SldWorks.PartDoc  

    Dim bRet                        As Boolean  

    Przyciemnij MyPath                      jako ciąg  

    Przyciemnij MójFolder                    jako ciąg  

  

    Ustaw swApp = Applicatio.SldWorks  

    Ustaw swModel = swApp.ActiveDoc  

    Ustaw swPart = swModel  

  

    MojFolder = CurDir$   

    MojaŚcieżka = Lewo(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") - 1)  

    MojaŚcieżka = Prawo(MojaŚcieżka, Len(MojaŚcieżka) - InStrRev(MojaŚcieżka, "\"))  

  

    Debug.Print "Plik = " & swModel.GetPathName  

    Debug.Print "Folder = " & MójŚcieżka  

    Debug.Print "Bieżący folder = " & MójFolder  

  

  

Koniec subwoofera

1 polubienie

Azrod, przyznam się, że nic nie rozumiem, skopiowałem Twój kod, a następnie wkleiłem go do nowego makra (w aplikacji brakuje "n". SldWorks, ale nic się nie dzieje, w oknie zmiennych lokalnych otrzymuję: patrz zrzut ekranu.

 


capture_macro1.png

Spróbowałem jeszcze raz i dostałem coś innego.


capture_macro2.png

Dobry wieczór

Moim zdaniem prawdopodobnie są błędy przy kompilacji lub wykonaniu.

Załączone jest makra, które działa na rysunku i jest oparte na pierwszym skojarzonym widoku. Do zabawy, jeśli nie pasuje dokładnie.


macro_dossier.txt
1 polubienie

Nadal mam błąd 


capture_macro2.png

Spróbuj z:

Dim  swApp       As    SldWorks.Application

2 polubienia

Nie udało mi się zrobić tego, co chciałem zrobić, ale to wcale nie z powodu braku pomocy na forum, dziękuję.

1 polubienie

Nie widziałem drugiej wiadomości. Błąd, który popełniasz, jest związany z faktem, że masz dwukrotnie Dim SwApp.