Hoe de bestandsnaam met macro te herstellen?

Hallo

 

Ik heb net ontdekt hoe macro's werken en wil graag een beetje hulp om mijn code af te maken. Na verschillende onderzoeken te hebben gedaan, slaagde ik er niet in om mijn code te laten draaien zoals ik wilde.

Het doel van de macro is simpel, ik zou graag de naam van mijn bestand willen kunnen ophalen zodat ik deze naam aan mijn configuraties kan geven. Kortom, voor stukbestanden die slechts één configuratie hebben, wil ik alle configuraties hernoemen op de bestandsnaam. Dit stelt me in staat om nomenclaturen te maken door de naam van de configuratie te kiezen en alle namen te hebben.

Ik heb al een beetje van de macro die werkt, maar ik zou moeten vervangen door de XXXXX met de naam van het bestand, die ik niet anders kan doen als ik deze code uitvoer, het hernoemt de configuratie naar XXXXX.

ZW 15

Dim swApp als object

Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long

Sub hoofd()


Stel swApp = Toepassing.SldWorks in

Deel instellen = swApp.ActiveDoc

boolstatus = Part.Extension.SelectByID2("Standaard", "CONFIGURATIES", 0, 0, 0, False, 0, Niets, 0)
boolstatus = Part.EditConfiguration3("Standaard", "XXXXX", "", "", 36)
longstatus = Part.SaveAs3("C:\Users\pdepuydt\Desktop\Test MAcro\40x40 M10 tip. SLDPRT", 0, 2)
Einde Sub

 

Bij voorbaat dank

Hallo

 

Ik stuur je een macro waarmee je de cameraweergave in JPEG kunt opnemen. De macro haalt de bestandsnaam op.

Ik laat je ernaar zoeken, want het is mijn computerwetenschapper die deze macro heeft aangepast


camera_vers_jpeg.swp

Ik vind wel in uw macrocodes die ik op internet heb gevonden, maar in feite kan ik ze niet in de mijne invoegen zodat het werkt.

Hallo 

Proberen

FileName = Deel.GetPathName


(of FileName = Part.GetTitle weet ik niet meer..)

1 like

Waar plaats ik het?

Het toont me fouten elke keer dat ik het probeer te starten

Hallo

Ik heb de oplossing van Martvy aan je code toegevoegd:

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

Dim swApp als object

Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long

Sub hoofd()


Stel swApp = Toepassing.SldWorks in
Deel instellen = swApp.ActiveDoc

bestandsnaam = Deel.GetTitle


boolstatus = Part.Extension.SelectByID2("Standaard", "CONFIGURATIES", 0, 0, 0, False, 0, Niets, 0)
boolstatus = Part.EditConfiguration3("Standaard", Bestandsnaam, "", "", 36)


Einde Sub

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

Deze oplossing werkt prima, maar als u in Windows Verkenner bestandsextensies weergeeft, wordt uw configuratie hernoemd met de bestandsnaam + sldprt

Mick

4 likes

Heel erg bedankt, het werkt!

Hoe verwijder je toevallig bestandsnaamextensies?

in de macro of in Windows?

Als het in de macro is, ben ik niet goed genoeg in vba, als het in Windows is, is het veel eenvoudiger:)

Hallo

Het is mijn beurt om de code toe te voegen.

De extensie verwijderen:

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

Dim swApp als object

Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long

Sub hoofd()


Stel swApp = Toepassing.SldWorks in
Deel instellen = swApp.ActiveDoc

bestandsnaam = Deel.GetTitle

bestandsnaam = Strings.Left(Bestandsnaam, Len(Bestandsnaam) - 7)


boolstatus = Part.Extension.SelectByID2("Standaard", "CONFIGURATIES", 0, 0, 0, False, 0, Niets, 0)
boolstatus = Part.EditConfiguration3("Standaard", Bestandsnaam, "", "", 36)


Einde Sub

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

 

3 likes