Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Simptomi

Ja palaižat Microsoft Visual Basic kodu, kas izmanto automatizāciju, lai kontrolētu Microsoft Word, iespējams, saņemsit kādu no tālāk norādītajiemkļūdas ziņojumiem.

Izpildlaika kļūda '-2147023174 ' (800706BA) automatizācijas kļūda

2. kļūdas ziņojums

Izpildlaika kļūda "462": attālā servera dators nepastāv vai nav pieejams

Cēlonis

Visual Basic ir izveidota atsauce uz programmu Word, jo koda rindiņā tiek zvanīts uz Word objekta, metodes vai rekvizīta, nekvalificējot to ar Word objekta mainīgo. Visual Basic nelaiž šo atsauci, līdz nebūsit izbeidzat programmu. Šī klīstošā atsauce traucē ar automatizācijas kodu, ja kods tiek palaists vairāk nekā vienu reizi.

Risinājums

Modificējiet kodu tā, lai katrs vārds, metode vai rekvizīts būtu kvalificēts atbilstoši objekta mainīgajam.

Statusa

Šo darbību nodrošina noformējums.

Papildinformācija

Lai automatizētu Word, tiek izveidots objekta mainīgais, kas parasti attiecas uz Word lietojumprogrammas vai dokumenta objektu. Pēc tam citu objektu mainīgos var iestatīt tā, lai tie atbilstu atlasei, diapazonam vai citiem objektiem Word objekta modelī. Rakstot kodu, lai izmantotu Word objektu, metodi vai rekvizītu, vienmēr ir jāveic saruna ar attiecīgo objekta mainīgo. Ja tā nav, Visual Basic izmanto paslēptu Globālā mainīgā atsauci, ko tā iestata uz pašlaik palaisto instanci. Ja programma Word ir beidzēta vai tiek izlaists deklarētā objekta mainīgais, paslēptais globālais mainīgais tagad norāda uz nederīgu (iznīcinātu) objektu. Palaižot automatizācijas kodu, zvani uz šo paslēpto objektu mainīgo neizdosies ar iepriekšminēto kļūdu. Tālāk norādītajās darbībās ir paskaidrots, kā reproducēt šo problēmu, un kā to izlabot.

Darbības, kas jāveic, lai atveidotu darbību

  1. Sāciet jaunu standarta EXE projektu programmā Visual Basic. Form1 ir izveidots pēc noklusējuma.

  2. Izvēlnē Projekts noklikšķiniet uz atsauces un pēc tam noklikšķiniet uz kādas no šīm opcijām:

    • Ja jums ir Office Word 2007, noklikšķiniet uz Microsoft Word 12,0 objektu bibliotēka

    • Programmā Word 2003 noklikšķiniet uz Microsoft Word 11,0 objektu bibliotēka

    • Programmā Word 2003 noklikšķiniet uz Microsoft Word 10,0 objektu bibliotēka

    • Programmā Word 2000 noklikšķiniet uz Microsoft Word 9,0 objektu bibliotēka.

    • Programmā Word 97 noklikšķiniet uz Microsoft Word 8,0 objektu bibliotēka.

  3. Novietojiet CommandButton uz Form1.

  4. Kopējiet šo kodu Form1 koda logā:

          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. Izvēlnē palaist noklikšķiniet uz Sākt vai nospiediet taustiņu F5, lai startētu programmu.

  6. Noklikšķiniet uz CommandButton. Kļūda nerodas. Taču atsauce uz programmu Word ir izveidota un nav izlaista.

  7. Vēlreiz noklikšķiniet uz CommandButton un ievērojiet, ka tiek parādīta iepriekš aprakstītā kļūda.Piezīme. Kļūda rodas tādēļ, ka kods attiecas uz InchesToPoints metodi, kas nav pirms sarunas ar oWord objekta mainīgo.

  8. Apturēt projektu un mainīt tālāk norādīto rindiņu.

    .PageSetup.LeftMargin = InchesToPoints(1.25)

    lai

    .PageSetup.LeftMargin = oWord.InchesToPoints(1.25)
  9. Palaidiet programmu vēlreiz. Pēc tam noklikšķiniet uz CommandButton. Kļūda nerodas.

  10. Vēlreiz noklikšķiniet uz CommandButton un ņemiet vērā, ka saņemat kļūdas ziņojumu.Piezīme. Kļūda rodas tādēļ, ka kods attiecas uz ActiveDocument sadaļu viena diapazona objekts, kas neatrodas pirms zvanīšanas ar objekta oWord.

  11. Apturēt projektu un mainīt tālāk norādīto rindiņu.

    Set oRange = ActiveDocument.Sections(1).Range

    lai

    Set oRange = oWord.ActiveDocument.Sections(1).Range
  12. Palaidiet programmu vēlreiz. Ievērojiet, ka kodu var palaist vairākas reizes, neizmantojot kļūdu.

Veidojot Visual Basic projektu, automatizējot programmu Word, ja jūsu projektā ir atsauce uz Microsoft Word objektu bibliotēku, programmas Word palīdzības failā ir pieejams objekta koda paraugu kods un rekvizīti. Kad kursors tiek novietots virs atslēgas vārda kodā, jūs redzēsit jebkuru piemērojamo palīdzības tekstu, nospiežot taustiņu F1. Koda paraugs palīdzības tēmā būs Microsoft Word Visual Basic for Applications kods. Tajā netiek rādītas objekta atsauces, kas nepieciešamas Visual Basic kodam. Ierobežotāji ir jāpievieno atbilstoši savām vajadzībām.

Atsauces

Lai iegūtu papildinformāciju, skatiet tālāk norādītos rakstus Microsoft zināšanu bāzē:

178510 PRB: Excel automatizācijas objekta ' _Global ' metode neizdevās

167223 Pieejams Microsoft Office 97 automatizācijas palīdzības failsLai iegūtu papildinformāciju par Office lietojumprogrammu automatizāciju, noklikšķiniet uz tālāk norādītā raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

222101 HOWTO: Office objektu modeļa dokumentācijas atrašana un lietošana

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×