Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 16h19   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Par défaut Impression pdf et VBA

Bonjour à tous,
Je souhaite utiliser le code ci-dessous mais je ne souhaite pas utiliser pdfcreator car j'ai déjà Adobe Acrobat Pro 6.

Je ne trouve pas dans adobe par quoi remplacer :
Code :
Shell "C:\Program Files\PDFCreator\PDFCreator.exe", vbNormalFocus
du code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
Sub testPrintPDF()
Dim oldPrinter As String
Dim stChemin As String
Dim stNom As String
' Affichage de la fenêtre de PDF
Shell "C:\Program Files\PDFCreator\PDFCreator.exe", vbNormalFocus
 
Dim PDFCreator1 As New clsPDFCreator
oldPrinter = ActivePrinter	
'On va mettre en mémoire dans une 
'variable le nom de l'imprimante par défaut
ActivePrinter = "PDFCreator"
'Mettre comme imprimante par défaut PDFCreator
If Len(ActiveDocument.Path) = 0 Then
    stChemin = "c:\temp"
Else
    stChemin = ActiveDocument.Path
End If
'Si le document n'a pas été sauvegardé, le PDF sera dans le répertoire c:\temp
'et un nom par défaut documentPDF;pdf
If Len(ActiveDocument.Name) = 0 Then
    stNom = "documentPDF.pdf"
Else
    stNom = ActiveDocument.Name
End If
'les option PDFCreator
With PDFCreator1
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = stChemin
   .cOption("AutosaveFilename") = stNom
   .cOption("AutosaveFormat") = 0                            ' 0 = PDF
   .cStart
   .cClearCache
End With
ActiveDocument.PrintOut Background:=True
PDFCreator1.cClose
ActivePrinter = oldPrinter
' Change l'imprimante par défaut
 
End Sub
Si quelqu'un a une idée?

Merci
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 20h29   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Ce n'est absolument pas la bonne voie.

Le code qui vient du tuto ne peut être utilisé qu'avec PDFCreator.
Si tu souhaites utiliser Adobe Acrobat, il faut utiliser les commandes Adobe Acrobat.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 01h28   #3
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut tom0ne,

Citation:
Envoyé par Heureux-oli
Si tu souhaites utiliser Adobe Acrobat, il faut utiliser les commandes Adobe Acrobat.
Oui. Pour cela, regarde comment s'appelle ton imprimante PDF (souvent du style "Adobe PDF") et demande à imprimer sur cette imprimante. Tu peux même définir cette imprimante comme l'imprimante par défaut et juste demander à Word de faire Print ==>

Code :
ActiveDocument.PrintOut
@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 01h30   #4
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Bonsoir,
En fait je reprends un ancien post :

Je souhaite imprimer une page sur mon imprimante pdf (c'est mon imprimante par défaut) à partir d'un bouton.

J'ai créé la macro suivante avec l'aide de word 2003 :
- 1 je cherche le signet
- 2 je demande l'impression de la page en cours
- 3 word me demande le nom du fichier et où l'enregistrer
- 4 je ferme l'enregistrement de la macro.

La macro ne contient pas le nom du fichier sous lequel enregistrer le fichier pdf et word me demande donc le nom et l'emplacement d'enregistrement.

Je souhaiterais que cela se fasse automatiquement car l'emplacement et le nom sont toujours les mêmes.

Pourriez vous m'aider sur ce problème ?

Merci,

Thomas
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Sub IMPR()
'
' IMPR Macro
' Macro enregistrée le 29/11/2011 par THOMAS
'
    Selection.GoTo What:=wdGoToBookmark, Name:="CFACT"
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
         Selection.GoTo What:=wdGoToBookmark, Name:="FACT"
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
    Selection.GoTo What:=wdGoToBookmark, Name:="RECAP"
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
End Sub
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 01h37   #5
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut tom0ne,

Citation:
Envoyé par tom0ne Voir le message
Bonsoir,
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Sub IMPR()
'
' IMPR Macro
' Macro enregistrée le 29/11/2011 par THOMAS
'
    Selection.GoTo What:=wdGoToBookmark, Name:="CFACT"
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With

    Application.PrintOut FileName:=<Mettre ici le nom de ton 1er fichier>, Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
         Selection.GoTo What:=wdGoToBookmark, Name:="FACT"
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
    Selection.GoTo What:=wdGoToBookmark, Name:="RECAP"
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With

    Application.PrintOut FileName:=<Mettre ici le nom de ton 1er fichier>, Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
End Sub
Les parties rouges ne servent à rien dans ton cas (puisqu'il n'y a pas de recherche effectuée <=> pas d'instruction "Find.Execute") ==> Supprime-les, ça allégera ton code
Remplis les parties vertes avec ton nom de fichier, ceci devrait suffire

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 13h04   #6
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Salut Sépia,

Merci de ta réponse,
Je viens de tester le code ci-dessous en ajoutant un nom à filename.
J'ai testé un nom avec guillemets puis sans, avec l'extension pdf, puis sans etc...

J’obtiens toujours l'erreur en pièce jointe.

Je désespères lol

Si tu as une autre idée?
Merci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 22/12/2011 par THOMAS
'
    Selection.GoTo What:=wdGoToBookmark, Name:="CFACT"
    
    ActivePrinter = "Adobe PDF"
    Application.PrintOut FileName:="test", Range:=wdPrintCurrentPage, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=False, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
End Sub
Images attachées
Type de fichier : png Image 000.png (10,8 Ko, 4 affichages)
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 00h35   #7
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut tom0ne,

Je viens de tester : même pb que toi ==> j'ai essayé autrement sur mon Mac mais je ne peux pas tester sur mon PC, peux-tu vérifier, STP ?
J'ai mis en rouge ce que j'ai modifié et qui a de l'importance

Code :
1
2
3
4
5
6
Sub Macro()
    Selection.GoTo What:=wdGoToBookmark, Name:="CFACT"
    
    ActivePrinter = "Adobe PDF"
    Application.PrintOut Range:=wdPrintCurrentPage, PrintToFile:= True, OutputFileName:-"test.pdf"
End Sub
@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 01h46   #8
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Salut Sépia,

Merci pour ton code,

J'ai enlevé le - ici :
Code :
OutputFileName:-"test.pdf"
J'obtiens l'erreur suivante : erreur de compilation, erreur de syntaxe

Qu'en penses tu?
As tu une autre idée?

Thomas
Images attachées
Type de fichier : png Image 001.png (22,9 Ko, 2 affichages)
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 08h01   #9
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Le - n'est pas à enlever mais à remplacer.

La valeur est passée aux arguments nommés avec une combinaison :=

Mettre un : seul va générer une erreur de syntaxe.

Pour passer une valeur à une fonction, on a deux possibilités.
Soit on nomme les arguments et on leur affecte une valeur avec un :=

Code :
LaFonction Arg1:="aaa", Arg2:="bbb", Arg4:="ddd"
Soit on utilise leur position dans la syntaxe

Code :
LaFonction "aaa",,"ccc","ddd"
La , sert de séparateur et si un argument n'est pas utilisé, on laisse sa position vide.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/12/2011, 15h44   #10
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Merci Oli,

C'est vrai qu'avec un = ça fonctionne tout de suite beaucoup mieux

Ne me reste plus qu'a déterminer le chemin d'enregistrement du fichier pdf,

Peux tu me dire comment l'on ajoute le chemin au code?

Merci,

Meilleurs vœux et joyeux noël. (à Sépia aussi)
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 19h21   #11
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Si veux veux récupérer le chemin avec une intervention de l'utilisateur, il suffit d'utiliser un objet FildeDialog.


Code :
1
2
3
4
5
6
7
8
9
Dim oDlg As FileDialog
dim MonChemin As String
 
Set oDlg = Application.FileDialog(msoFileDialogFolderPicker)
 
oDlg.Show
 
'Le chamin est renvoyé par cette expression
Monchemin = oDlg.SelectedItems(1)
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/12/2011, 21h33   #12
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Merci Oli mais ou je rentre le chemin ?

J'ai essayé ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 22/12/2011 par THOMAS
'
     Selection.GoTo What:=wdGoToBookmark, Name:="CFACT"
 
    ActivePrinter = "ScanSoft PDF Create!"
     ChangeFileOpenDirectory "E:\Documents and Settings\Thom@s\Bureau\"
    Application.PrintOut Range:=wdPrintCurrentPage, PrintToFile:=True, OutputFileName:="test.pdf",
End Sub
Mais ça ne marche pas ! lol
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 01h23   #13
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Salut tom0ne,

Citation:
PrintToFile:= True, OutputFileName:-"test.pdf"
Excuse, j'ai tapé trop vite et je n'ai pas vu, il faut en effet remplacer le "-" par "=".

Pour le chemin, essaye plutôt ça

Code :
Application.PrintOut Range:=wdPrintCurrentPage, PrintToFile:=True, OutputFileName:=""E:\Documents and Settings\Thom@s\Bureau\test.pdf"
@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 02h39   #14
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Merci Sépia,

J'ai testé le code suivant :
Code :
1
2
3
4
5
6
7
 
   Sub Macro()
    Selection.GoTo What:=wdGoToBookmark, Name:="CFACT"
 
    ActivePrinter = "ScanSoft PDF Create!"
    Application.PrintOut Range:=wdPrintCurrentPage, PrintToFile:=True, OutputFileName:="E:\Documents and Settings\Thom@s\Bureau\test.pdf"
End Sub
Le code demande mon intervention pour le nom et l'endroit où enregistrer le fichier.
Je n'arrive pas à ce que le fichier s'enregistre sous un nom pré-choisi à un emplacement déterminé...

Tu as une idée?
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 11h55   #15
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

On en revient donc à une de mes questions ??
Quelle est ta version de Word ?

OutputFileName est utilisé pour donner un nom au fichier d'impression lorsque c'est Word qui se charge de créer le fichier lorsqu'on imprime dans un fichier.
On obtient alors un fichier .prn.

Dans le cas d'une impression PDF, c'est le logiciel d'impression qui va avoir besoin du nom et cet argument ne sert à rien.

Dans PDFcreator, l'argument qui contient le nom est passé à la fonction pour qu'elle puisse l'utiliser pour donner le nom.

Code :
1
2
3
4
5
6
7
8
9
With PDFCreator1
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = stChemin
   .cOption("AutosaveFilename") = stNom
   .cOption("AutosaveFormat") = 0                            ' 0 = PDF
   .cStart
   .cClearCache
End With

C'est ce nom qui sera utilisé par la fonction pour le nom de sortie du fichier.
Code :
PDFCreator1.cOption("AutosaveFilename") = stNom
Dans ton cas, tu dois savoir quel est l'argument à passer à la fonction pour donner un nom au fichier de sortie.

Ce serait simple si toutes les imprimantes fonctionnaient de la même façon, mais ce n'est pas le cas.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2011, 13h05   #16
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Merci Oli,

Je suis en train de désinstaller scansoft et acrobat.

Je fais un bon nettoyage de windows et je repars avec PDFCREATOR.

Ensuite je pourrais essayer avec ton code.



Je vous souhaite de bonnes fêtes de fin d'année et vous tiens au courant bientôt. (Oli et Sépia)
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 21h51   #17
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Salut à tous,
J'espère que vous avez passez un bon noël et plein de cadeaux.

J'ai installé PDFCREATOR et j'ai donc repris le code d'origine :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub testPrintPDF()
Dim oldPrinter As String
Dim stChemin As String
Dim stNom As String
' Affichage de la fenêtre de PDF
Shell "d:\Program Files\PDFCreator\PDFCreator.exe", vbNormalFocus
 
Dim PDFCreator1 As New clsPDFCreator
oldPrinter = ActivePrinter
'On va mettre en mémoire dans une
'variable le nom de l'imprimante par défaut
ActivePrinter = "PDFCreator"
'Mettre comme imprimante par défaut PDFCreator
If Len(ActiveDocument.Path) = 0 Then
    stChemin = "E:\Documents and Settings\Thom@s\Bureau"
Else
    stChemin = ActiveDocument.Path
End If
'Si le document n'a pas été sauvegardé, le PDF sera dans le répertoire c:\temp
'et un nom par défaut documentPDF;pdf
If Len(ActiveDocument.Name) = 0 Then
    stNom = "documentcccPDF.pdf"
Else
    stNom = ActiveDocument.Name
End If
'les option PDFCreator
With PDFCreator1
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = stChemin
   .cOption("AutosaveFilename") = stNom
   .cOption("AutosaveFormat") = 0                            ' 0 = PDF
   .cStart
   .cClearCache
End With
ActiveDocument.PrintOut Background:=True
PDFCreator1.cClose
ActivePrinter = oldPrinter
' Change l'imprimante par défaut
 
End Sub
J'ai une erreur dans l'execution du script, voir image jointe,
Je desespere et ce n'est pas bon pour ma reflexion...

Un peu d'aide par ici?
Images attachées
Type de fichier : png Image 000.png (47,5 Ko, 2 affichages)
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 22h22   #18
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Tu n'as pas ajouté la référence "PDF Creator" à ton projet.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 16h17   #19
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : 10
Points : 10
Salut Oli,

Merci de ta réponse,

J'ai bien essayé de l'ajouter mais je ne trouve pas la bonne commande ni l'emplacement qui convient...
tom0ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 17h27   #20
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Bonjour,

dans l'éditeur VBE, menu outils, références..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h43.


 
 
 
 
Partenaires

Hébergement Web