Abrufen eines Teils des SW-Dateinamens

Hallo, können wir einen Teil des Dateinamens in den SW-Eigenschaften abrufen?

 

Vielen Dank im Voraus.

Hallo

So lautet der Befehl zum Wiederherstellen des Dateinamens:

$PRP:"SW-Dateiname

Was die Wiederherstellung eines Teils betrifft; Ich glaube nicht, dass es möglich  ist, wenn nicht einer meiner Kollegen Bescheid weiß 

und dass der Teil des Namens, der abgerufen werden soll, konstant ist.

Hallo

Es ist möglich, mehrere Eigenschaften zu verketten, aber ich bezweifle, dass es möglich ist, nur einen Teil von einer von ihnen abzurufen, außer natürlich per Makro, da in diesem Fall alle Funktionen zum Bearbeiten von Zeichenketten im Makro verfügbar sind.

Herzliche Grüße

1 „Gefällt mir“

Ja, ich verwende bereits ein Makro, um abzurufen, was ich will, aber ich hätte mir gewünscht, dass es automatisch ist. 

 

Vielen Dank für Ihre Antworten! 

 

Bis bald.

Hallo 

Ist es möglich, Ihr Makro zu teilen? In der Tat möchte ich das Gleiche tun wie Sie, indem ich auf der einen Seite meine Plannummer und auf der anderen meine Beschreibung abrufe, wobei meine Dateien "n°deplan - description.sldprt" heißen

Vielen Dank im Voraus

1 „Gefällt mir“

Hallo

 

Entschuldigung für die späte Antwort, hier ist das erste Makro, das die Referenz abruft (die ersten 13 Zeichen)

Dimmen swApp als Objekt
Dimfilename, foo, length, variable1, variable2, repname
Sonnenweg
Sonne lang, pos
Modell als Objekt dimmen
Sub main()

Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Set View = Part.ActiveDrawingView

'Pfad + Dateiname der Ansicht abrufen
filename = Ansicht.GetReferencedModelName
'MsgBox (Dateiname)
'recup' Dateiname
foo = dir(Dateiname)
'MsgBox (foo)
'Rufen Sie die ersten 13 Zeichen des Dateinamens ab
Variable2 = Links(foo, 13)
'MsgBox (Variable2)

'Berechnung Anzahl der Zeichen im Dateinamen
Länge = Len(foo) + 1
'MsgBox (Länge)
'Erstellen einer Zeichenkette ohne Dateinamen
long = Len(Dateiname)
RORO = Lang - Länge
'MsgBox (roro)
Pfad = Links(Dateiname, RoRo)
'MsgBox (Pfad)
'Position von \ von rechts suchen
pos = InStrRev(Pfad, "\")
'Variablenerstellung 13 Zeichen erster übergeordneter Ordner
Variable1 = Mitte(Pfad, pos + 1, 13)
'MsgBox (Variable1)

"Verkettung der 2 Variablen
Felder = Variable2
'MsgBox (Felder)

'Erstellen eines PP-'Feldes' in SW für die Kartuschenbefüllung
Wenn Felder <> "" Dann
    Wert = Part.CustomInfo2("", "Feld")
    Wenn Wert = "" dann
        Part.AddCustomInfo3"", "field", 50, Felder
        Oder
        Part.CustomInfo2("", "Feld") = Felder
    Ende, wenn
Ende, wenn

Teil.EditRebuild3
Ende Sub
 

 

2 „Gefällt mir“

Und der zweite Teil, um den Namen nach der Referenz abzurufen:

 

Dimmen swApp als Objekt
Dimfilename, foo, length, variable1, variable2, repname
Sonnenweg
Sonne lang, pos
Modell als Objekt dimmen
Sub main()

Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Set View = Part.ActiveDrawingView

'Pfad + Dateiname der Ansicht abrufen
filename = Ansicht.GetReferencedModelName
'MsgBox (Dateiname)
'recup' Dateiname
foo = dir(Dateiname)
'MsgBox (foo)


'Berechnung der Anzahl der Zeichen in foo
Länge = Len(foo)
'MsgBox (Länge)

"Schaffung einer Kette ohne Ausdehnung
variable = Links(foo, Länge - 7)
'MsgBox (Variable)

"Rückgewinnung mit variabler Länge
long = Len(variabel)
'MsgBox (lang)

'recup' Dateiname ohne die ersten 14 Zeichen
fields = Rechts(variabel, lang - 14)
'MsgBox (Felder)

'Erstellen eines PP-'Feldes' in SW für die Kartuschenbefüllung
Wenn Felder <> "" Dann
    Wert = Part.CustomInfo2("", "Feld2")
    Wenn Wert = "" dann
        Part.AddCustomInfo3"", "field2", 50 Felder
        Oder
        Part.CustomInfo2("", "field2") = Felder
    Ende, wenn
Ende, wenn

Teil.EditRebuild3

Ende Sub
 

2 „Gefällt mir“

Hallo, ich möchte auch die ersten 6 Zeichen wiederherstellen, aber ich kann Ihr Makro nicht zum Laufen bringen.

 

Hallo ihr alle

Wenn Sie die Integration in die My CADtools-Tools integriert haben, ist dies sehr gut gemacht, siehe den beigefügten Screenshot.

 


capture.png

Ich habe Mycadtools und wusste nichts von dieser Funktion

Vielen Dank.