Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/04/2007, 19h18   #1
xtian_Québec
Invité de passage
 
Inscription : avril 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 3
Points : 0
Points : 0
Par défaut [VBA-E] Expert recherché pour convertir fichier DWG, DXF, SLDDRW en PDF

Salut le Forum, Je suis nouveau dans ce forum et j'espère que je pourrai vous apporter une aide quelconque dans les mois à venir mais en ce moment, c'est moi qui ai besoin de vos connaissances.

Prendre note que je ne suis pas trop familier avec les fonctions Set Object et en fouillant ici et là sur d'autres forum (MyCADservices ainsi que sur Avenao) et j'ai trouvé un bout de code qui, selon moi, pourrais régler mon problème mais j'essais de l'adapter et ça ne fonctionne pas.

Voici d'abord ce que je veux faire:
J'ai un fichier Excel qui récupère des dessins en format PDF avec le code suivant:

Code :
1
2
3
4
5
6
Sub RécupèreDessinPDF()
Range("A19").Select
ActiveSheet.OLEObjects.Add(Filename:= _
"C:\MonRépertoire\MonDessin.pdf", Link:=False, _
DisplayAsIcon:=False).Select
End Sub
Ce code fonctionne très bien. Par contre, ce code ne fonctionne pas avec des fichiers dessins dont les extensions se terminent par .dwg, .slddrw et .dfx. Les fichiers slddrw sont des dessins développés avec SolidWorks et on peut, à partir de ce programme, ouvrir les dessins et les enregistrer sous PDF. Donc ce que je veux réaliser, c'est ouvrir un dessin avec l'application SolidWorks avec mon code (dans Excel) et enregistrer le dessin en format PDF dans le même répertoire. Voici le code que j'ai trouvé:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub main()
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim swModel As SldWorks.ModelDoc2
Dim sPathName As String
Dim sExtension As String
Set swApp = Application.SldWorks
sPathName = swModel.GetPathName
Set swModel = swApp.ActiveDoc 'associe Swmodel au document en cours
Set Part = swApp.ActiveDoc 'associe part au document en cours
sPathName = swModel.GetPathName 'recupere le nom complet du document actif
sPathName = Left(sPathName, Len(sPathName) - 6) 'suppr des 6 derniers caractères
sPathName = sPathName + "SLDDRW - Feuille1.dwg" ' ajoute SLDDRW - Feuille1.dwg (pour respecter la casse imposer par impression multidocuments
sExtension = Right(swModel.GetPathName, 6)
Part.Save2 False
Part.ViewZoomtofit2 'zoom tout
Part.SaveAs2 sPathName, 0, True, False 'sauvegarde en dwg dans le meme dossier que le fichier en cours
End Sub
Ce code est probablement assez explixcite pour un connaisseur mais comme je n'en suis pas un, je m'y perds un peu. Ce code enregistre un slddrw en dwg mais je crois que la logique, lorsque je comprendrai, sera la même pour enregistrer les fichier en format pdf.

Prendre note que j'utilise un poste de travail qui a SolidWorks donc je peux sélectionner les Library Type dans les préférences Visual basic, car elles sont nécessaires à l'exécution du code.

J'ai tenté d'adapter ce code à mes besoins mais ça ne fonctionne pas. Je suis vraiment novice lorsqu'il s'agit d'exécuter des codes qui touchent une autre application...Votre aide SVP

Ce qu'il me faudrait, c'est comprendre, étape par étape ce qui se passe dans ce code.

Merci de votre habituelle assistance

Xtian_Québec
@+++
xtian_Québec est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 19h40   #2
bbil
Responsable Visual Basic

 
Avatar de bbil
 
Inscription : juin 2003
Messages : 12 329
Détails du profil
Informations personnelles :
Âge : 46
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 12 329
Points : 22 803
Points : 22 803
Envoyer un message via Skype™ à bbil
ben sans solidWork .. difficile de te répondre... tu devrai regarder l'aide en ligne de la commande ".SaveAs2" dans solidWork ..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web