2016-03-30 2 views
0

Notre société a récemment subi une importante mise à niveau du bureau de 2010 à 2016, et nous avons maintenant un problème avec l'une de nos macros VBA, illustrée ci-dessous.Fusion et publipostage VBA - Access 2016 (Runtime Error 287)

Function MergeIt() 
Dim objWord As Word.Document 
Dim SaveAsName As String 
Dim Year As String 
Dim DANo As String 
Dim Revision As String 
Dim strSource As String 

Set objWord = GetObject("G:\Dev_&_Tech_Serv\Development\DAAssessTool\MailMerge1.dot", "Word.Document") 
' Make Word visible. 
objWord.Application.Visible = True 
'Set the mail merge data source as the DAApproval Database. 
objWord.MailMerge.OpenDataSource Name:="G:\Dev_&_Tech_Serv\Development\DAAssessTool" & "\DARevD.mdb", LinkToSource:=True, Connection:="QUERY qry_Mailmerge", SQLStatement:="Select * from [DAConCheckID]" 
' Execute the mail merge. 
objWord.MailMerge.Execute 
' Close the original form document 
objWord.Saved = True 
objWord.Close (False) 
End Function 

L'erreur est de lancer la première ligne de Set - lancer une erreur d'exécution 287 « Erreur définie d'application définie ou objet ». Je fais l'hypothèse que le développeur précédent définit incorrectement le document Word, mais je ne trouve rien en ligne qui montre une méthode différente de définition, ou comment corriger cette erreur. Je passe maintenant à la vaste connaissance de la communauté Stack pour trouver de l'inspiration sur ce qui ne va pas et comment y remédier.

Merci d'avance.

Répondre

1

Votre meilleur choix sera de convertir ces anciens fichiers .dot au format .dotx plus récent.

Si cela est impossible, essayez de débloquer ces anciens formats dans Options Word/Trust Center/fichier Paramètres du bloc

voir http://answers.microsoft.com/en-us/office/forum/office_2016-word/word-2016-cannot-open-documents-with-doc/bf12fa10-4e28-4a6b-99b2-d42c1aa8cb4b/

Vous pouvez aussi avoir besoin de définir G: comme lieu de confiance (je suppose que ce un lecteur réseau).