Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Simptomi

Kada pokrenete Microsoft Visual Basic kod koji koristi automatizaciju za upravljanje programom Microsoft Word, možda će vam se prikazati jedna od sljedećih poruka o pogrešci:poruka o pogrešci 1

Pogreška prilikom izvođenja "-2147023174" (800706BA) automatizacija

Poruka o pogrešci 2

Pogreška prilikom izvođenja "462": udaljeni poslužiteljski stroj ne postoji ili nije dostupan

Uzrok

Visual Basic uspostavio je referencu na Word zbog retka koda koji naziva objekt programa Word, način ili svojstvo, a da ga ne kvalificiraju uz varijablu programa Word. Visual Basic ne oslobađa ovu referencu dok ne završite s programom. Ta se referenca ometa kod automatizacije kada se kod pokreće više puta.

Rješenje

Izmijenite kod da bi se svaki poziva na objekt programa Word, način ili svojstvo kvalificirala uz odgovarajuću varijablu objekta.

Status

To je ponašanje prema dizajnu.

Dodatne informacije

Da biste automatizirati Word, ustanovite varijablu objekta koja se obično odnosi na aplikaciju programa Word ili objekt dokumenta. Druge varijable objekta mogu se postaviti tako da se odnose na odabir, raspon ili druge objekte u programu programa Word. Kada zapisujete kod da biste koristili objekt programa Word, metodu ili svojstvo, uvijek morate prethoditi pozivu uz odgovarajuću varijablu objekta. Ako to ne učinite, Visual Basic koristi skrivenu globalnu varijablu referencu koja se postavlja na instancu koja se trenutno pokreće. Ako je Word isključen ili ako je izdana varijabilna varijabla objekta, skrivena globalna varijabla sada će se referencirati na objekt koji nije valjan (uništeni). Kada ponovno pokrenu kod za automatizaciju, pozivi na ovu varijablu skrivenog objekta neće uspjeti s spomenutom pogreškom. U sljedećim se koracima opisuje kako reproducirati taj problem i kako ga ispraviti.

Koraci za reprodukciju ponašanja

  1. Započnite novi standardni EXE projekt u programu Visual Basic. Form1 je po zadanom stvoren.

  2. Na izborniku projekta kliknite reference , a zatim kliknite neku od sljedećih mogućnosti:

    • Za Office Word 2007 kliknite biblioteku objekata programa Microsoft Word 12,0

    • Za Word 2003 kliknite biblioteku objekata programa Microsoft word 11,0

    • Za Word 2003 kliknite biblioteku objekata programa Microsoft word 10,0

    • Za Word 2000 kliknite biblioteku objekata programa Microsoft word 9,0.

    • Za Word 97 kliknite biblioteku objekata programa Microsoft word 8,0.

  3. Umetnite gumb CommandButton na Form1.

  4. Kopirajte sljedeći kod u prozor kod Form1:

          Option Explicit      Private Sub Command1_Click()         Dim oWord As Word.Application         Dim oDoc As Word.Document         Dim oRange as Word.Range         Set oWord = CreateObject("Word.Application")         With oWord             .Visible = True             .Activate             .WindowState = wdWindowStateNormal         End With         Set oDoc = oWord.Documents.Add         MsgBox "Document open", vbMsgBoxSetForeground         With oDoc             .PageSetup.LeftMargin = InchesToPoints(1.25)         End With         ' This example inserts text at the end of section one.         Set oRange = ActiveDocument.Sections(1).Range         With oRange             .MoveEnd Unit:=wdCharacter, Count:= -1             .Collapse Direction:=wdCollapseEnd             .InsertParagraphAfter             .InsertAfter "End of section."         End With         With oDoc             .Saved = True         End With         Set oRange = Nothing         Set oDoc = Nothing         oWord.Quit         Set oWord = Nothing      End Sub
  5. Na izborniku Pokreni kliknite Pokreni ili pritisnite tipku F5 da biste pokrenuli program.

  6. Kliknite gumb Command. Nije došlo do pogreške. Međutim, stvorena je referenca na Word i nije objavljena.

  7. Ponovno kliknite gumb Commandi Imajte na sebi da ste prethodno dobili opisanu pogrešku.Napomena Pogreška se pojavljuje jer se kod odnosi na metodu Inchestobodovi bez prethodnog poziva s varijabilnom varijablom objekta oWord.

  8. Zaustavite projekt i promijenite sljedeći redak:

    .PageSetup.LeftMargin = InchesToPoints(1.25)

    da

    .PageSetup.LeftMargin = oWord.InchesToPoints(1.25)
  9. Ponovno pokrenite program. Zatim kliknite gumb Command. Nije došlo do pogreške.

  10. Ponovno kliknite gumb Commandi Imajte na tome da se prikazuje pogreška.Napomena Pogreška se pojavljuje jer se kod odnosi na objekt servisa ActiveDocument, a da ne prethodi pozivu s varijablom objekta oWord.

  11. Zaustavite projekt i promijenite sljedeći redak:

    Set oRange = ActiveDocument.Sections(1).Range

    da

    Set oRange = oWord.ActiveDocument.Sections(1).Range
  12. Ponovno pokrenite program. Primjetite da možete pokrenuti kod više puta bez pogreške.

Prilikom izgradnje automatizacija programa Visual Basic Project, ako vaš projekt ima referencu na biblioteku objekata programa Microsoft Word, ogledni kod za objekte, metode i svojstva modela objekta programa Word dostupan je u datoteci pomoći za Word. Kada je pokazivač iznad ključne riječi u kodu, prikazat će se bilo koji primjenjivi tekst pomoći pritiskom na tipku F1. Ogledni kod u temi pomoći bit će šifra programa Microsoft Word za Visual Basic for Applications. Neće prikazati reference objekta koje zahtijeva vaš kôd za Visual Basic. Kvalifikacijama ćete morati dodati po potrebi.

Reference

Dodatne informacije potražite u sljedećim člancima iz Microsoftove baze znanja:

178510 PRB: metoda automatizacije programa Excel objekta ' _Global ' nije uspjela

167223 Microsoft Office 97 Automation datoteka pomoćiDodatne informacije o Automatstvu aplikacija sustava Office potražite u članku iz Microsoftove baze znanja pod brojem

222101 HOWTO: pronalaženje i korištenje dokumentacije sustava Office Object Model

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×