Type défini par l'utilisateur non défini - le contrôle de Word à partir d'Excel
Je suis en train de faire est relativement simple de copier et coller à partir d'Excel 2007 dans Word 2007. J'ai regardé à travers ce site et d'autres, et de garder de rester bloqué sur la même chose - la troisième ligne n le code ci-dessous continue de me donner le "type d'Utilisateur remarque défini" msg d'erreur. Je suis vraiment confus depuis que j'ai juste soulevé ce à partir d'une autre solution (et eu des problèmes similaires avec d'autres solutions, j'ai essayé de l'ascenseur). Quelqu'un pourrait-il svp m'instruire sur ce qui est à l'origine de l'erreur, et pourquoi?
Sub ControlWord()
' **** The line below gives me the error ****
Dim appWD As Word.Application
' Create a new instance of Word & make it visible
Set appWD = CreateObject("Word.Application.12")
appWD.Visible = True
'Find the last row with data in the spreadsheet
FinalRow = Range("A9999").End(xlUp).Row
For i = 1 To FinalRow
' Copy the current row
Worksheets("Sheet1").Rows(i).Copy
' Tell Word to create a new document
appWD.Documents.Add
' Tell Word to paste the contents of the clipboard into the new document
appWD.Selection.Paste
' Save the new document with a sequential file name
appWD.ActiveDocument.SaveAs Filename:="File" & i
' Close this new word document
appWD.ActiveDocument.Close
Next i
' Close the Word application
appWD.Quit
End Sub
Vous devez définir une référence à la Parole de bibliothèque dans votre projet (vous pouvez le faire dans l'éditeur VB dans Outils>>Références)
merci Tim - n'a jamais fait ça avant.
fonctionne parfaitement, merci!
Double Possible de 'Type Défini par l'Utilisateur Non Défini" erreur
merci Tim - n'a jamais fait ça avant.
fonctionne parfaitement, merci!
Double Possible de 'Type Défini par l'Utilisateur Non Défini" erreur
OriginalL'auteur Tommy Z | 2012-07-30
Vous devez vous connecter pour publier un commentaire.
Cette réponse a été mentionné dans un commentaire par Tim Williams.
Afin de résoudre ce problème, vous devez ajouter le Mot objet de référence de la bibliothèque de votre projet.
À l'intérieur de la
Visual Basic Editor
, sélectionnezTools
puisReferences
et faites défiler la liste jusqu'à ce que vous voyezMicrosoft Word 12.0 Object Library
. Cochez cette case et frapperOk
.À partir de ce moment, vous devriez avoir l'automatique est activé lorsque vous tapez
Word.
pour confirmer la référence a été définie correctement.OriginalL'auteur ForceMagic
Comme par Quelles sont les différences entre l'utilisation du mot clé New et de l'appel de la fonction CreateObject dans Excel VBA?, soit
utiliser une variable non typée:
ou
Ajouter une référence à
Microsoft Word <version> Object Library
dans le projet VBA viaTools->References...
, puis créer un typée variable et l'initialiser avec le VBANew
de l'opérateur:ou
CreateObject
est équivalent àNew
ici, elle ne présente de code de redondanceTapé la variable de vous donner la saisie semi-automatique.
OriginalL'auteur ivan_pozdeev