Excel et word
Bonjour,
j'essaie de faire communiquer excel et word en m'aidant de ce tuto : http://www.info-3000.com/vbvba/automation.php
En fait je souhaite que l'utilisateur de mon programme VB-Excel puisse en appuyant sur un bouton pouvoir laisser un message dans une page word en début de page (les messages se concaténant avec la date avec les derniers en haut de page) et que ces messages soient consultables non modifiables en appuyant de nouveau sur un bouton excel).
Dans un premier temps, j'essaie d'alimenter ce fichier word (et de le créer) avec un application.inputbox qui me donne l'erreur "Erreur d'exécution 5862, typetext n'est pas une propriété.
Le code fonctionnait avec :
MonBeauWord.Selection.TypeText "Test de fonctionnement"Option Explicit
Public com As String
Sub PilotageWord()
Dim MonBeauWord As Object
'bête bizarre qu'est Word.Application. Références Visual Basic
'de ses composants. Pour pouvoir utiliser les instructions
'Visual Basic de Word (Documents.Add, Selection.TypeText, etc.),
'vous devez déclarer que vous voulez les utiliser.
'Pour ce faire, allez dans le menu Outils/Références,
'et cochez la case "Microsoft Word 11.0 Object library" -
'Word 11.0 est en fait Word 2003.
Set MonBeauWord = New Word.Application
' Création d'un nouveau document :
MonBeauWord.Documents.Add
' Ecriture d'un petit texte dans ce nouveau document :
MonBeauWord.Selection.TypeText = Application.InputBox("Saisissez votre message")
'"Test de fonctionnement"
' Sauvegarde de ce document ainsi créé :
MonBeauWord.ActiveDocument.SaveAs "L:\DICTIONNAIRE\ test.doc"
' Fermeture de ce document :
MonBeauWord.ActiveDocument.Close
Set MonBeauWord = Nothing
End SubMerci de votre aide.
J'ai trouvé, il ne faut pas de = à MonBeauWord.Selection.TypeText = Application.InputBox("Saisissez votre message").
Pour le reste, je cherche.
Finalement,
je suis arrivé ç un résultat proche de ce que je désirais :
Sub PilotageWord()
Dim MonBeauWord As Object
'bête bizarre qu'est Word.Application. Références Visual Basic
'de ses composants. Pour pouvoir utiliser les instructions
'Visual Basic de Word (Documents.Add, Selection.TypeText, etc.),
'vous devez déclarer que vous voulez les utiliser.
'Pour ce faire, allez dans le menu Outils/Références,
'et cochez la case "Microsoft Word 11.0 Object library" -
'Word 11.0 est en fait Word 2003.
Set MonBeauWord = New Word.Application
' Création d'un nouveau document :
MonBeauWord.Documents.Add
' Ecriture d'un petit texte dans ce nouveau document :
MonBeauWord.Selection.TypeText "message du " & Date & Chr(13) & Application.InputBox("Saisissez votre message")
'MonBeauWord.Selection.TypeText = "Test de fonctionnement"
' Sauvegarde de ce document ainsi créé :
MonBeauWord.ActiveDocument.SaveAs FIC_COM
' Fermeture de ce document :
MonBeauWord.ActiveDocument.Close
Set MonBeauWord = Nothing
'Affiche le fichier commentaires
ThisWorkbook.FollowHyperlink FIC_COM
End SubJe souhaiterai maintenant que grçace à cette cette macro le fichier word ne soit plus modifiable en passant directement par word (lecture seule) et que le texte saisi soit concaténé avec celui déjà existant sur ce fichier word et mis début de document.
Merci de votre aide.