Problème avec macro PDF

vos questions concernant les API SolidWorks

Problème avec macro PDF

Messagepar pasc » Lun 11 Fév 2013, 9:51

Bonjour

J'ai récupéré une macro qui crée un pdf qui fonctionnait trèa bien avec solidworks 2012. Nous avons passé à solidworks 2013, et là problème avec la macro...
Je n'y connais quasiment rien en code... donc si quelqu'un peut trouver pourquoi elle ne fonctionne plus!!!

d'abord elle ne fonctionnait plus du tout et en cherchant sur le net, j'ai vu qu'il fallait ajouter PtrSafe après Declare...

Le fichier se crée mais par contre le pdf ne s'ouvre pas automatiquement alors qu'avec la 2012, il s'ouvre...

D'avance merci

Code: Tout sélectionner
Option Explicit
Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type

Public Const BIF_RETURNONLYFSDIRS = &H1
Public Const BIF_DONTGOBELOWDOMAIN = &H2
Public Const BIF_STATUSTEXT = &H4
Public Const BIF_RETURNFSANCESTORS = &H8
Public Const BIF_BROWSEFORCOMPUTER = &H1000
Public Const BIF_BROWSEFORPRINTER = &H2000
Public Const BIF_NEWDIALOGSTYLE = &H40
Private Declare PtrSafe Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare PtrSafe Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Sub main()

Dim swApp As SldWorks.SldWorks, Part As SldWorks.ModelDoc2
Dim boolstatus As Boolean, myRev As String, myNew As String
Dim myVar As Variant, RetVal As Integer

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

myRev = Part.GetCustomInfoValue("", "IND_REV")
myVar = Split(Part.GetPathName, "\", -1)
myNew = Part.GetPathName & "-R" & myRev & "-" & Date & "-" & Format(Time, "hh""h""mm") & ".PDF"
Debug.Print myNew
RetVal = Part.SaveAs3(myNew, 0, 0)

End Sub

Public Function GetFolder(ByVal sTitle As String) As String

Dim bInf As BROWSEINFO, RetVal As Long, PathID As Long
Dim RetPath As String, Offset As Integer

bInf.lpszTitle = sTitle: bInf.ulFlags = BIF_NEWDIALOGSTYLE
PathID = SHBrowseForFolder(bInf): RetPath = Space$(512)

RetVal = SHGetPathFromIDList(ByVal PathID, ByVal RetPath)

If RetVal Then
    Offset = InStr(RetPath, Chr$(0))
    GetFolder = Left$(RetPath, Offset - 1)
End If

End Function
pasc
Ewok SolidWorks
 
Messages: 2
Inscription: Lun 11 Fév 2013, 9:38

Re: Problème avec macro PDF

Messagepar Starck » Mar 19 Fév 2013, 22:07

Bonjour,

Pourriez-vous vérifier que lors de l'enregistrement manuel en PDF, la case "afficher le PDF après l'enregistrement" est bien cochée ?
J'ai eu le cas une fois où j'avais oublié de la cocher.

++
Starck
Ewok SolidWorks
 
Messages: 37
Inscription: Lun 24 Déc 2012, 11:16


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

banniere