Bonjour,
Envoyé par
ingft
Bonjour à tous,
Je suis un gros débutant en VBA word ( et je me débrouille bien en VBA Excel)
J'ai un soucis je n'arrive pas sauvegarder de façon automatique un fichier word avec excel.
Avec mon code j'arrive toujours sur la fenetre SaveFile mais c'est tjs à moi de donner le nom du fichier et son emplacement...
l'objectif c'est que le fichier s'enregistre au nom indiqué dans l'emplacement indiqué
J'ai parcouru plein de forum et je ne comprend pas pourquoi cela ne marche pas chez moi.
Je ne comprend pas voici le code qui est tous simple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Sub word_avec_excel()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = CreateObject("Word.Application") '-- ouvre une session Word
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Add '-- crée un nouveau document
WordApp.Selection.TypeText "Test de fonctionnement"
newName = "Test"
WordApp.ActiveDocument.SaveAs Filename:="C:\" & newName & ".docx"
End Sub |
Merci par avance pour votre aide !
As-tu Word 2010 ?
Je pose la question très sérieusement, parce que c'est le genre de situation où j'ai remarqué les caprices de VBA Office 2010 par rapport à VBA OfficeXP
Par exemple, sans utiliser automation, comme enregistrer dans Word à partir de VBA Word, ou dans Excel à partir de VBA Excel:
Ceci fonctionne:
1 2
| newName = "Test"
ActiveDocument.SaveAs Filename:="C:\" & newName & ".docx" |
Mais ceci plante joyeusement, alors que cela passait comme du beurre dans la poêle avec VBA Word 2002:
1 2
| newName = C:\Test.docx
ActiveDocument.SaveAs(newname) |
ou même avec
ActiveDocument.SaveAs("C:\test.docx")
c'est pareil.
Et c'est là que ma question prend tout son sens, parce que Automation dans VBA Office 2010 oblige de faire exactement le contraire, du moins chez-moi:
Ceci plante joyeusement
WordApp.ActiveDocument.SaveAs Filename:="C:\test.docx"
mais ceci fonctionne:
WordApp.ActiveDocument.SaveAs ("C:\test.docx")
C'est con, mais c'est comme cela. Je ne sais pas si cela peut avoir une influence quelconque, mais j'utilise Office à 64 bits.
Partager