Macro solidworks mijn eerste begin

Hallo gemeenschap.

 

Ik ben in mijn vroege stadia op SW macro's.

 

Ik wil een macro maken die de naam van het bestand (zonder de extensie) ophaalt en deze string registreert in een persoonlijke eigenschap.

Ik kom pbs tegen over het splitsen van de extensie van de bestandsnaam die ik heb weten te herstellen.

Hieronder staat de code die ik heb geschreven. Wat doe ik verkeerd, want ik begrijp het echt niet...

Dim swApp als object
Sub hoofd()

Stel swApp = Toepassing.SldWorks in
    
Stel swModel = swApp.ActiveDoc in

Dim swBodies als variant
Dim swBody As SldWorks.Body2
Deel instellen = swModel
            
Dim b als snaar
Dim naam

b = swModel.GetTitle
Foutopsporing.Print b

naam = Splits(b, ".", -1)

Naam debuggen.Print

Einde Sub

 

 

Bij voorbaat dank

Hallo

Wat is de fout?

De leiding moet worden vervangen:

naam = Splits(b, ".", -1)

Bij:

Naam = Links(b, (InStrRev(b, ".", -1, vbTextCompare) - 1))

 

Want zo kan Split niet gebruikt worden.

 

Oeps, het ontvangen bericht is: 

Runtime-fout 13

Type incompatibiliteit

1 like

Ja, ik heb getest en gezien.

Ter informatie is het noodzakelijk om ook aan te geven welke regel fout is:)

Met mijn vorige bericht werkt het nu.

Heel erg bedankt, maar wat betekent deze regel code???

1 like

Voor splitsing, zie hier:

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I

Naar links zie hier:

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-B

Voor instrrev, zie hier (het verschil met instr is dat het begint aan het einde van de string):

http://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-E

 

Anders, voor functies op strings, zie ook:

http://boisgontierjacques.free.fr/pages_site/chainesvba.htm