Ouvrir un fichier PDF depuis Solidworks via une macro

Bonjour à tous
je cherche à ouvrir un fichier PDF (avec un emplacement connu) via une macro exécutée depuis Solidworks
j’ai fait quelques recherches et rien de concluant
je trouve des solutions depuis Excel mais pas depuis solidworks

Cela est-il possible à votre avis ?

Vers quelle commande dois-je m’orienter ?

Merci :wink:

Bonjour,
Il faut d’une part déclarer la fonction permettant d’utiliser le programme d’ouverture de pdf par défaut:

Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hWnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Ensuite l’appeler ainsi:

ret = ShellExecute(0, "open", "nom de fichier", vbNullString, "répertoire de stockage", 1)

Avec ret étant une variable de type long

2 « J'aime »

Super merci de votre réponse cela m’a permis d’avancer
je suis sur la bonne voie je pense
adobe s’ouvre mais pas le fichier
je creuse encore :grinning:

Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hWnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    
    
    
Sub main()

ret = ShellExecute(0, "open", "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe", vbNullString, "U:\PLAN\01 PDF\USMEC000121-C.PDF", 1)

End Sub

Bonjour,
A la place de « C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe » , « USMEC000121-C.PDF »
Et à la place de « U:\PLAN\01 PDF\USMEC000121-C.PDF » juste "U:\PLAN\01 PDF\ "

1 « J'aime »

J’y étais presque également
merci de votre aide :pray: :+1:

Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hWnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    
    
    
Sub main()

ret = ShellExecute(0, "open", "USMEC000121-C.PDF", vbNullString, "U:\PLAN\01 PDF\", 1)

End Sub
1 « J'aime »