Cours d'exécution dans l'Erreur 462: Le serveur distant n'existe pas lorsque vous travaillez avec WORD via VBA Excel
J'ai essayé d'ouvrir un fichier word par programmation en vba excel et de l'ajout/modification de contenu à l'aide de signets. Cependant, je trouve que sur d'autres pistes, j'obtiens l'Erreur "462: Le serveur distant n'existe pas d'erreur". J'ai fait des recherches beaucoup et compris que cela a quelque chose à faire " références non Qualifiés;.
Cependant je ne comprends pas comment corriger ci-dessous l'extrait de code à des références? Quelqu'un peut s'il vous plaît aider?
Set exR = ActiveSheet.Range(TestIdCol & CStr(DataRowNum) & ":" & TestIdCol & CStr(RowEnd))
ExistingEvidenceDoc = UseFileDialogOpen("Word Documents", "*.doc;*.docx")
Set objWord = CreateObject("Word.Application")
If ExistingEvidenceDoc <> "" Then
Set objDoc = objWord.Documents.Open(ExistingEvidenceDoc)
Else
Exit Sub
End If
objWord.Visible = True
Application.Wait Now() + TimeSerial(0, 0, 5)
Set objSelection = objWord.Selection
getExistingEvidences = ExistingTestEvidences(objDoc)
o = DataRowNum
For Each cell In exR
If cell.Value <> "" And Not IsInArray(cell.Value, getExistingEvidences) Then
objSelection.Style = ActiveDocument.Styles("Heading 1")
objSelection.TypeText text:="Heading " + cell.Value
objSelection.TypeParagraph
objSelection.MoveLeft
objSelection.HomeKey Unit:=wdLine
objSelection.EndKey Unit:=wdLine, Extend:=wdExtend
objDoc.Bookmarks.Add Name:="BMrk" + CStr(o), Range:=objSelection
objSelection.Copy
ActiveSheet.Range("Q" + CStr(o)).Select
ActiveSheet.PasteSpecial Format:="Hyperlink", Link:=False, DisplayAsIcon _
:=False
objSelection.MoveRight
'objSelection.Style = ActiveDocument.Styles("Paragraph")
objSelection.TypeText text:=Range(DescriptionCol + CStr(cell.Row)).Value
objSelection.TypeParagraph
ElseIf IsInArray(cell.Value, getExistingEvidences) = False Then
objSelection.EndKey
objSelection.Style = ActiveDocument.Styles("Heading 1")
objSelection.TypeText text:="Heading " + cell.Value
objSelection.TypeParagraph
objSelection.MoveLeft
objSelection.HomeKey Unit:=wdLine
objSelection.EndKey Unit:=wdLine, Extend:=wdExtend
objDoc.Bookmarks.Add Name:="BMrk" + CStr(o), Range:=objSelection
objSelection.Copy
ActiveSheet.Range("Q" + CStr(o)).Select
ActiveSheet.PasteSpecial Format:="Hyperlink", Link:=False, DisplayAsIcon _
:=False
objSelection.MoveRight
'objSelection.Style = ActiveDocument.Styles("Paragraph")
objSelection.TypeText text:=Range(DescriptionCol + CStr(cell.Row)).Value
objSelection.TypeParagraph
End If
o = o + 1
Next cell
MyErrorHandler:
MsgBox "SeeHeadingPageNumber" & vbCrLf & vbCrLf & "Err = " & Err.Number & vbCrLf & "Description: " & Err.Description
De plus, quelle que soit exR plage, je définir, il termine l'exécution de l'ensemble de la gamme, mais à la fin MyErrorHandler est invoquée, je ne comprends pas pourquoi? Est-il une raison pour cela?
Merci les gars, aidez-moi...votre aide est très apprécié.
Merci d'avance
exit sub
avant MyErrorHandler:
. Aussi je ne vois pas un On Error Goto
n'importe oùMerci, cela a résolu un problème...mais le problème principal reste sur l'Erreur 462 rencontrés. Pourriez-vous m'aider avec ça aussi? 🙁
OriginalL'auteur Sunny D'Souza | 2014-09-25
Vous devez vous connecter pour publier un commentaire.
Vous avez deux références non qualifiés pour les objets Word:
qui apparaît à deux reprises, doit être:
Sinon, vous êtes la création d'une référence implicite à la Parole que vous ne pouvez pas les détruire dans votre code.
OriginalL'auteur Rory
Vous devez d'abord vous assurer il n'y a pas oprhan
winword.exe
dans le gestionnaire des tâches. Tuer ou se déconnecter pour se débarrasser d'eux.Ensuite, vous devez ajouter quelque chose comme ce code à la fin de la "explcitly" fermer mot:
(Je ne suis pas sûr de la syntaxe exacte, j'espère que vous pouvez travailler)
Vous devez ajouter quelque chose de similaire à votre gestionnaire d'erreur.
Ce qui arrive souvent, c'est au cours du développement et de débogage, parfois mot n'est pas fermé correctement et "orphelins" processus de traîner, même si elles ne sont pas visibles.
Vous pouvez également utiliser
au lieu de
que vous donne la saisie semi-automatique etc.
Mais il y a des avantages à chaque voie.
OriginalL'auteur Nick.McDermaid