VBA - imprimer & sauvegarder word

FoLKeN

XLDnaute Junior
Bonjour à tous,

Une macro excel ouvre un document existant word, y effectue des modifications. Je voudrais pouvoir:
1. Imprimer ce fichier (en ayant la popup du choix des imprimantes, donc j'ai l'impression que le code docWord.PrintOut ne fonctionne pas pour ca)
2. Puis sauvegarder ce nouveau fichier dans un autre emplacement sous un autre nom.

Le code que j'ai fait jusqu'à présent, en parcourant le net et ce forum n'a pas l'air de fonctionner. J'ai essayé plusieurs choses mais cela ne fonctionne toujours pas... C'est pour ça que je fais appel à votre aide ! :)

Code:
Sub MaMacro()

    ' Needs the Microsoft Word 10.0 Object Library  reference
    ' Create and open the word session and the word document
    Dim wordApp As Word.Application
    Dim wordDoc As Word.Document
    Dim templatePath As String
    Dim savePath As String
    Dim saveName As String
    Set wordApp = CreateObject("word.application")
    wordApp.Visible = True
    
    ' Find the path and check its validity
    templatePath = GetWordFilePathFromCountry(LanguageName.Value, TypeConvocationTrainee)
    If FileExists(templatePath) = False Then
        MsgBox ("Error while retrieving the template file. Path: " & templatePath)
        wordApp.Quit
        Exit Sub
    End If
    
    ' Open the word file
    Set wordDoc = wordApp.Documents.Open(templatePath)

    [I]'Traitement réalisé ici....[/I]

    [I]'A faire ici: l'impression... Ne marche pas actuellement[/I]
    wordDoc.PrintOut ' mauvais comportement

    [I]'A faire ici: la sauvegarde... Ne marche pas actuellement[/I]
    savePath = "C:\MonRepertoire\"
    If Dir(savePath) <> "" Then
        saveName = "NouveauNomDeFichier.doc"
        ' mauvaise fonction ?
        wordDoc.SaveAs FileName:=savePath & saveName , _
            FileFormat:=wdFormatDocument, LockComments:=False, Password:="", _
            AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
            EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
            SaveAsAOCELetter:=False
    Else ' Wrong path
        MsgBox ("Error")
    End If
    
    ' Close the documents and sessions and save changes
    wordDoc.Close SaveChanges:=False
    wordApp.Quit
    
End Sub

Merci pour votre aide !
 

FoLKeN

XLDnaute Junior
Re : VBA - imprimer & sauvegarder word

Hello Tatiak et le forum,

Merci tu viens de me sauver la vie. Tout fonctionne impec'.

J'ai juste une petite question supplémentaire toujours par rapport à cette macro. Je voudrais vérifier l'existence du chemin d'accès (juste le répertoire) avant de sauvegarder.

J'utilise (comme vous l'avez vu dans mon premier post) :
Code:
If Dir(savePath) <> "" Then

Ca ne fonctionne que s'il y a un fichier à la fin de l'arborescence (donc savePath & saveName pour mon cas présent). Mais connaîtriez-vous une fonction qui vérifie l'existence juste de l'arborescence ? (car le fichier saveName n'existe pas car il n'est pas encore créé). Une solution temporaire serait de créer un fichier bidon dans ce répertoire et tester son existence mais c'est très moche.

Merci encore en tout cas :)
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA