Pobieranie części nazwy pliku SW

Witam, czy możemy pobrać część nazwy pliku we właściwościach oprogramowania?

 

Z góry dziękuję.

Witam

Oto jak wykonać polecenie odzyskania nazwy pliku:

$PRP:"Nazwa pliku SW

Jeśli chodzi o odzyskiwanie części; Nie sądzę, żeby to było możliwe , chyba że któryś z moich kolegów wie 

i że część nazwy, która ma zostać pobrana, jest stała.

Witam

Możliwe jest połączenie kilku właściwości, ale wątpię, aby możliwe było pobranie tylko części jednej z nich, z wyjątkiem oczywiście makra, ponieważ w tym przypadku wszystkie funkcje do manipulowania ciągami są dostępne w makrze.

Pozdrowienia

1 polubienie

Tak, używam już makra do pobierania tego, czego chcę, ale wolałbym, aby było to automatyczne. 

 

Dziękuję za odpowiedzi! 

 

Do zobaczenia wkrótce.

Witam 

Czy można udostępnić swoje makro? Rzeczywiście, chciałbym również zrobić to samo co Ty, pobierając z jednej strony mój numer planu, a z drugiej mój opis, moje pliki o nazwie "n°deplan - description.sldprt"

Z góry dziękuję

1 polubienie

Witam

 

Przepraszamy za spóźnioną odpowiedź, oto pierwsze makro, które pobiera odwołanie (pierwsze 13 znaków)

Dim swApp As Object
nazwa_pliku, foo, długość, zmienna1, zmienna2, nazwa powtórzenia
Droga Słońca
Słońce długie, pos
Przyciemnij model jako obiekt
Sub main()

Ustaw swApp = CreateObject("SldWorks.Application")
Ustaw część = swApp.ActiveDoc
Ustaw widok = Part.ActiveDrawingView

'Pobierz ścieżkę + nazwę pliku widoku
filename = View.GetReferencedModelName
'MsgBox (nazwa pliku)
Nazwa pliku 'recup'
foo = dir(nazwa_pliku)
'MsgBox (foo)
'Pobieranie pierwszych 13 znaków nazwy pliku
zmienna2 = Lewo(foo, 13)
'MsgBox (zmienna2)

'obliczanie liczby znaków w nazwie pliku
długość = Len(foo) + 1
'MsgBox (długość)
'Tworzenie ciągu znaków bez nazwy pliku
long = Len(nazwa pliku)
RORO = Długi - Długość
"MsgBox (roro)
path = Left(nazwa pliku, roro)
'MsgBox (ścieżka)
'Szukaj pozycji \ od prawej
pos = InStrRev(ścieżka, "\")
'Tworzenie zmiennej 13 znaków pierwszy folder nadrzędny
zmienna1 = Mid(ścieżka, pos + 1, 13)
'MsgBox (zmienna1)

'Konkatenacja 2 zmiennych
pola = zmienna2
'MsgBox (pola)

'Tworzenie 'pola' PP w SW do napełniania kartridży
Jeśli pola <> "" To
    Wartość = Part.CustomInfo2("", "pole")
    Jeśli wartość = "" to
        Part.AddCustomInfo3"", "pole", 50, pola
        Inaczej
        Part.CustomInfo2("", "pole") = pola
    Zakończ jeżeli:
Zakończ jeżeli:

Part.EditRebuild3 (Edycja części)
Koniec subwoofera
 

 

2 polubienia

I druga część, aby pobrać nazwę po odwołaniu:

 

Dim swApp As Object
nazwa_pliku, foo, długość, zmienna1, zmienna2, nazwa powtórzenia
Droga Słońca
Słońce długie, pos
Przyciemnij model jako obiekt
Sub main()

Ustaw swApp = CreateObject("SldWorks.Application")
Ustaw część = swApp.ActiveDoc
Ustaw widok = Part.ActiveDrawingView

'Pobierz ścieżkę + nazwę pliku widoku
filename = View.GetReferencedModelName
'MsgBox (nazwa pliku)
Nazwa pliku 'recup'
foo = dir(nazwa_pliku)
'MsgBox (foo)


'Obliczanie liczby znaków w foo
długość = Len(foo)
'MsgBox (długość)

"Stworzenie łańcucha bez przedłużenia
zmienna = Lewo(foo, długość - 7)
'MsgBox (zmienna)

"Odzysk o zmiennej długości
long = Len(zmienna)
'MsgBox (długie)

Nazwa pliku "recup" bez pierwszych 14 znaków
pola = Prawo(zmienna, długa - 14)
'MsgBox (pola)

'Tworzenie 'pola' PP w SW do napełniania kartridży
Jeśli pola <> "" To
    Wartość = Part.CustomInfo2("", "pole2")
    Jeśli wartość = "" to
        Part.AddCustomInfo3"", "pole2", 50 pól
        Inaczej
        Part.CustomInfo2("", "pole2") = pola
    Zakończ jeżeli:
Zakończ jeżeli:

Part.EditRebuild3 (Edycja części)

Koniec subwoofera
 

2 polubienia

Witam, chciałbym również odzyskać pierwsze 6 znaków , ale nie mogę uruchomić twojego makra.

 

Cze wszystkim

Jeśli masz Integrację zawartą w narzędziach My CADtools, jest to zrobione bardzo dobrze, patrz załączony zrzut ekranu.

 


capture.png

Mam Mycadtools i nie wiedziałem o tej funkcji

Dziękuję.