Herstel van mapnamen zonder pad

Hallo

Ik probeer de mapnaam (clientbestand) op te halen en vervolgens de submapnaam (zakelijke map) om ze automatisch weer te geven in mijn titelblok.

Met de eigenschap "mapnaam" kan ik het pad van de map weergeven en niet de naam, ik had een tutorial gezien om alleen het gezochte deel in dit pad te selecteren, maar ik kan het niet meer in handen krijgen. 

Ik wil graag weergeven in mijn KLANTENblok ..........    CASE ............, beide afkomstig uit de Windows-mappen.

Als het even kan zonder PDM te gebruiken.

Bedankt.

Hallo

Het is mogelijk met een macro of misschien met vergelijkingen, zie deze links:

http://www.lynkoa.com/forum/solidworks/comment-recuperer-le-nom-d-un-fichier-avec-une-macro

http://www.lynkoa.com/store/fr/vba-solidworks-nom-fichier.html

 

1 like

Dank je wel PL

Maar ik zou de mapnaam moeten ophalen en niet de bestandsnaam.

Het lukt me om een macro te maken, maar alleen voor een enkel bestand, ik zou de naam van de map moeten kunnen achterhalen, maar met een link naar het stuk. 

Ik denk dat ik iets heb gevonden, maar ik zou hulp nodig hebben bij het toepassen ervan, ik ben erin geslaagd om de code te kopiëren en in een macro te plakken, ik start de macro maar er gebeurt niets. 

https://forum.solidworks.com/thread/65304#345645

Hallo

Heb je elke variabele in je macro goed aangepakt?

 

Expliciete  optie 

  

 Sub hoofd()  

  

    Dim swApp                      als SldWorks.SldWorks  

    Dim swModel                    als SldWorks.ModelDoc2  

    Dim swPart                      As SldWorks.PartDoc  

    Dim bRet                        als Booleaanse  

    Dim MyPath                      als snaar  

    Dim MyFolder                    als tekenreeks  

  

    Stel swApp = Applicatio.SldWorks  in 

    Stel swModel = swApp.ActiveDoc  in 

    Stel swPart in = swModel  

  

    MyFolder = CurDir$   

    MyPath = Links(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") - 1)  

    MyPath = Right(MyPath, Len(MyPath) - InStrRev(MyPath, "\"))  

  

    Debug.Print "Bestand = " & swModel.GetPathName  

    Debug.Print "Map = " & MyPath  

    Debug.Print "Huidige map = " & MyFolder  

  

  

Einde Sub

1 like

Azrod, ik geef toe dat ik niets begrijp, ik heb je code gekopieerd en vervolgens in een nieuwe macro geplakt (een "n" ontbreekt in de applicatie. SldWorks, maar er gebeurt niets, in het lokale variabelen venster dat ik krijg: zie screenshot.

 


capture_macro1.png

Ik heb het opnieuw geprobeerd en ik krijg iets anders.


capture_macro2.png

Goedenavond

Naar mijn mening zijn er waarschijnlijk fouten bij het samenstellen of uitvoeren.

Bijgevoegd is een macro die werkt op een tekening en is gebaseerd op de eerste gekoppelde weergave. Om mee te spelen als het niet precies past.


macro_dossier.txt
1 like

Ik heb nog steeds een foutmelding 


capture_macro2.png

Probeer het met:

Dim  swApp       als    SldWorks.Application

2 likes

Het is me niet gelukt om te doen wat ik wilde doen, maar het is in ieder geval niet vanwege een gebrek aan hulp op het forum, bedankt.

1 like

Het tweede bericht had ik niet gezien. De fout die je maakt heeft te maken met het feit dat je twee keer Dim SwApp hebt.