Bonjour à tous,
Suite à cette question:
http://www.developpez.net/forums/d15...er-word-excel/
J'ai eu la surprise de ma vie en me voyant obligé de faire de la liaison précoce (Early Binding) et de cocher la référence à Word, malgré le fait que la personne voulait utiliser la liaison tardive (Late Binding) et CreateObject.
Or, je me demande si c'est un micro-climat sur ma machine, un autre des "caprices" de VBA Office 2010, ou une caractéristique des Office à 64 bits (seulement); parce que tous les deux, nous avons des Office 2010 à 64 bits
C'est donc principalement pour satisfaire ma curiosité, et accessoirement pour être collectivement capables de donner les meilleures réponses que j'aimerais que des volontaires prennent quelques minutes pour vérifier, s'il y a encore moyen de faire du "vrai" LateBinding sans ajouter la référence à l'autre application. Cela prendrait au moins quelques testeurs sur Office 2010 à 32 bits et peut-être même sur Office 2007 et Office 2013...
Merci d'avance, pour moi, et pour les autres.
Ceci marche sur Excel 2010 à 64 bits en ajoutant obligatoirement la référence à Word:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Sub word_avec_excel() 'J'ai dû ajouter la référence à 'Microsoft Word 14.0 Object Library 'Sinon impossible de compiler Dim WordApp As Word.Application Dim WordDoc As Word.Document 'Avec la référence cochée, Create Object ne sert plus à rien 'Set WordApp = CreateObject("Word.Application") '-- ouvre une session Word Set WordApp = New Word.Application WordApp.Visible = True Set WordDoc = WordApp.Documents.Add '-- crée un nouveau document WordApp.Selection.TypeText "Test de fonctionnement" 'J'ai changé le nom du dossier 'parce que mon Windows 7 ne veut pas que mon VBA Office engeristre 'mes fichiers dans la racine de mon disque dur newName = "Test" WordApp.ActiveDocument.SaveAs Filename:="C:\temp\" & newName & ".docx" WordApp.Quit End Sub
Partager