Pomoc makr

Witam

 

Szukam sposobu na odzyskanie właściwości lokalizacji mojego pokoju

 

Przykład: Mój dokument jest zapisany w folderze "Sprawa X", w folderze "Klient Y"

 

Chciałbym, aby nazwa pliku klienta i nazwa sprawy pojawiły się w moim bloku.

 

Chcę pobrać ścieżkę rejestracji i pokazać tylko imię i nazwisko klienta oraz sprawę, ponieważ często zapominam o jej wskazaniu i zdaję sobie z tego sprawę po zakończeniu drukowania.

 

Lucas skierował mnie do makra.

 

Dim swApp jako SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
 
Sub main()
 
 
Ustaw swApp = Application.SldWorks
Ustaw swModel = swApp.ActiveDoc
 
 
swModel.AddCustomInfo2 "Ścieżka do pliku", swCustomInfoText, Left(swModel.GetPathName, InStrRev(swModel.GetPathName, "\"))
 
 
Koniec subwoofera
Makro nie ma żadnych błędów, ale nie jestem pewien, jak to zrobić później.
Tak, aby ta informacja trafiła na mój wkład.
Dla Twojej informacji przechodzę przez formularz własności osobistej.
 
Dziękuję! =)
Cześć, w rzeczywistości makro powinno dodać niestandardową właściwość o nazwie "Ścieżka pliku", której można następnie użyć w tabelce rysunkowej lub w adnotacji.
1 polubienie

Dlaczego właściwość osobista "Ścieżka do pliku" podaje nazwę pliku klienta i nazwę pliku biznesowego?

 

Jak je podzielić? Wolałbym, żeby w jednym pudełku znalazło się nazwisko klienta, a w drugim nazwisko sprawy.

 

To możliwe?

Cóż, zrobiłem test na adnotacji.

 

Kończę z pełną ścieżką, tak jakbym umieścił właściwość nazwy folderu.

Czy możesz podać przykład ścieżki, określając nazwę klienta i transakcji?
1 polubienie

Oto zrzut ekranu

 

Chciałbym umieścić "Klient X" w polu klienta i "Romans Y" na placu budowy lub w polu referencyjnym.

 

 


macro.png

Następnie musisz dodać następującą część przed subem końcowym:

 

filepath = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, "\")) 
end = Len(ścieżka pliku) - 1
pos_cli = InStrRev(ścieżka pliku, "\", koniec)
client = Mid(ścieżka do pliku, pos_cli + 1, end - pos_cli)
pos_aff = InStrRev(ścieżka pliku, "\", pos_cli - 1)
case = Mid(ścieżka pliku, pos_aff + 1, pos_cli - 1 - pos_aff)

swModel.AddCustomInfo2 "Klient", swCustomInfoText, klient

swModel.AddCustomInfo2 "Deal", wielkość liter swCustomInfoText
 

1 polubienie

Prawdopodobnie istnieje prostsze rozwiązanie, ale przynajmniej działa!

Makro doda 2 dodatkowe właściwości niestandardowe, których można użyć w tabelce rysunkowej:

"Klient" dla nazwy klienta

"Deal" dla numeru zamówienia

 

1 polubienie

Dopóki to działa, jest mi z tym dobrze!

 

wydaje mi się, że to makro, ale mam błąd na client= Mid line (FilePath, po_cli+1, end-pos_cli)

Rzeczywiście, masz błąd, ponieważ nie skopiowałeś i nie wkleiłeś dobrze!

To _cli , a nie po_cli 

1 polubienie

Edycja: usuwanie duplikatów

1 polubienie

Nie, po prostu źle przepisałem na Lynkoa

 

Umieściłem poprawnie: client = Mid(FilePath, pos_cli + 1, end - pos_cli)


macros.png

Dziwne, na czym polega błąd?

1 polubienie

Błąd wykonania 5

 

Nieprawidłowy argument lub wywołanie procedury

Suszysz Lucasa? :p ^^

1 polubienie
Przepraszam, że nie miałem czasu, aby przetestować to dokładniej, patrzę na to dziś wieczorem.
1 polubienie

Nie martw się Lucas, to miło z twojej strony!

 

Robię to jako wspólny wątek, więc nie jest to szczególnie pilne ;)

W każdym razie twoje makro wygląda bardzo dobrze. Dasz radę!

Naprawdę muszę się w tym poćwiczyć....

 

Miłego zakończenia dnia!

1 polubienie

Przepraszam, nie rozumiem, w domu to działa!

Umieszczę Cię w PJ pliku, który działa w domu, abyś mógł przetestować...

Dziękuję za komplementy i życzę miłego zakończenia dnia.


ścieżka.swp

Ja też nie rozumiem...

 

W domu czy w biurze zawsze ten sam błąd.

 

Jestem pod rokiem 2014.

 

Mała powieść fotograficzna? Oczywiście, jeśli masz na to czas!

Czy wiesz, jak używać debugowania dla makr? W przeciwnym razie mogę zdalnie przejąć kontrolę nad twoim komputerem?