Macro gelijk aan (Bestand/openen op specifieke map)

Hallo

Ik ben op zoek naar een solidworks-macro te maken om het equivalent van bestand / openen te doen en naar een specifieke map te verwijzen om vervolgens het bestand van mijn keuze te openen.

Dank u voor uw hulp.

Lionel

Hallo

Een antwoord hier:

Functie SelectFolder(Optionele Titel Als String, Optionele TopFolder Als String) Als String

   Dim objShell Als Nieuw Shell32.Shell   

Dim objFolder Als Shell32.Folder

'Als u 16384 gebruikt in plaats van 1 op de volgende regel, worden bestanden ook weergegeven  

  Set objFolder = objShell.BrowseForFolder (0, Titel, 1, TopFolder)   

Als objFolder niets is, selecteer dan     

  SelectFolder = objFolder.Items.Item.Path

    Einde Als

Einde Functie

 

http://www.your-save-time-and-improve-quality-technologies-online-resource.com/vba-select-folder.html

 

Bedankt voor het reactievermogen, maar klein probleem:

De bijbehorende referentie ontbreekt, u kunt proberen iets te controleren als  

"Microsoft Shell-besturingselementen ... "

In het menu Tools > VBA-referenties 

1 like

Excact .PL goed gedaan... Dat gezegd hebbende, het is slechts een mapselectie, onmogelijk om een bestand te openen.

Het idee is om een bestand te openen met de map in de macro "voorgeselecteerd".

Zie misschien hier:

http://www.eng-tips.com/viewthread.cfm?qid=165464

Of hier:

http://www.eng-tips.com/faqs.cfm?fid=1164

 

Zoiets als 'swApp.GetOpenFileName(.....)` ?

 

http://help.solidworks.com/2013/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~GetOpenFileName.html

 

Het opent een venster dat lijkt op de knop "Openen", u kunt de filters selecteren (Bestandstypen om weer te geven), het eerste bestand, enz.
De functie retourneert het pad van het gekozen bestand, als de gebruiker op het kruisje klikt, is het retourpad leeg.

1 like

Bedankt .PL we komen dichterbij...

Hoe geef ik een specifiek pad aan?

Inderdaad, met get it could work, hebben we hier een voorbeeld:

http://help.solidworks.com/2013/english/api/sldworksapi/Open_File_Example_VB.htm

fileName = swApp.GetOpenFileName("Bestand om bij te voegen", "", Filter, fileOptions, fileConfig, fileDispName)

Met de statements :
value = instantie. GetOpenFileName(DialogTitle, InitialFileName, FileFilter, OpenOptions, ConfigName, DisplayName)
InitialFileName
Pad en bestandsnaam van het te openen bestand
1 like

Inderdaad, ik had de citaten niet gezien ....

Een grote dank aan you.PL

Oeps... te snel beantwoord...

Waarom wordt het bestand dat is geselecteerd om te openen niet geopend?

Ik weet het niet! Ik heb bijna geen ideeën meer, misschien is het niet mogelijk!

swApp.GetOpenFileName(...)

 

retourneert het pad van het bestand als een 'String'. 

Om het bestand te openen moet je de functie 'swApp.OpenDoc6' gebruiken
http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~OpenDoc6.html

Als je meer hulp wilt, gebruik dan de SolidWorks Macro Recorder en open een bestand. U zult zien hoe u 'swApp.OpenDoc6(...)`

 

Ps: Als je je probleem hebt opgelost, voeg dan een "Beste antwoord" toe