Prihláste sa s kontom Microsoft
Prihláste sa alebo si vytvorte konto.
Dobrý deň,
Vyberte iné konto.
Máte viacero kont
Vyberte konto, s ktorým sa chcete prihlásiť.

Príznaky

Keď spustíte kód jazyka Microsoft Visual Basic, ktorý používa automatizáciu na ovládanie programu Microsoft Word, môže sa zobraziť jedno z nasledujúcich chybových hlásení:chybové hlásenie 1

Chyba spustenia chyby "-2147023174" (800706ba) Automatizácia

Chybové hlásenie 2

Chyba spustenia "462": vzdialený serverový stroj neexistuje alebo nie je k dispozícii

Príčina

Visual Basic vytvoril odkaz na Word z dôvodu kódu, ktorý zavolá objekt Wordu, metódu alebo vlastnosť bez toho, aby ho prispôsobil premennej objektu Wordu. Visual Basic nezbavuje tento odkaz, kým neukončíte program. Tento potulný odkaz sa zarovná s kódom automatizácie, keď sa kód spustí viackrát.

Riešenie

Upravte kód tak, aby bol každý hovor na objekte Word, metóda alebo vlastnosť kvalifikovaný s príslušnou premennou objektu.

Stav

Toto správanie je zámerné.

Ďalšie informácie

Ak chcete automatizovať Word, môžete vytvoriť premennú objektu, ktorá zvyčajne odkazuje na Wordovú aplikáciu alebo objekt dokumentu. Ďalšie premenné objektu môžete potom nastaviť tak, aby odkazovali na výber, rozsah alebo iné objekty v objektovom modeli Wordu. Pri písaní kódu použite objekt, metódu alebo vlastnosť Wordu, vždy by ste mali pred volaním zavolať pomocou príslušnej premennej objektu. Ak to tak nie je, Visual Basic použije skrytý globálny premenný odkaz, ktorý nastavuje na aktuálne spustenú inštanciu. Ak je Word vypnutý alebo ak je deklarovaná premenná objektu uvoľnená, Skrytá globálna premenná bude odkazovať na neplatný (zničený) objekt. Pri opätovnom spustení kódu automatizácie sa na túto skrytú premennú objektu nepodarí vyskytla sa chyba. Nasledujúci postup znázorňuje, ako tento problém reprodukovať, a ako ho opraviť.

Kroky na reprodukovanie správania

  1. Spustite nový štandardný EXE projekt v jazyku Visual Basic. Form1 sa vytvorí na základe predvoleného nastavenia.

  2. Kliknite na položku Odkazy z ponuky projekt a potom kliknite na niektorú z nasledujúcich možností:

    • V prípade balíka Office Word 2007 kliknite na položku Objektová knižnica programu Microsoft Word 12,0

    • V prípade Wordu 2003 kliknite na položku Objektová knižnica programu Microsoft Word 11,0

    • V prípade Wordu 2003 kliknite na položku Objektová knižnica programu Microsoft Word 10,0

    • V prípade Wordu 2000 kliknite na položku Objektová knižnica programu Microsoft Word 9,0.

    • V prípade Wordu 97 kliknite na položku Objektová knižnica programu Microsoft Word 8,0.

  3. Miesto CommandButton na Form1.

  4. Skopírujte nasledujúci kód do okna s kódom v 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. V ponuke Spustiť kliknite na položku Spustiť alebo stlačením klávesu F5 spustite program.

  6. Kliknite na CommandButton. Nevyskytne sa žiadna chyba. Odkaz na Word sa však vytvoril a nebol vydaný.

  7. Znova kliknite na CommandButton a Všimnite si, že sa zobrazí chyba, ktorá bola predtým opísaná.Poznámka: Chyba sa vyskytuje, pretože kód odkazuje na metódu InchesToPoints bez predchádzajúceho hovoru s premennou objektu oWord.

  8. Zastavte projekt a zmeňte nasledujúci postup:

    .PageSetup.LeftMargin = InchesToPoints(1.25)

    na

    .PageSetup.LeftMargin = oWord.InchesToPoints(1.25)
  9. Znova spustite program. Potom kliknite na CommandButton. Nevyskytne sa žiadna chyba.

  10. Znova kliknite na CommandButton a Všimnite si, že sa zobrazí chybové hlásenie.Poznámka: Chyba sa vyskytuje, pretože kód odkazuje na objekt rozsahu ActiveDocument, ktorý nie je predchádzajúci hovoru s premennou objektu oWord.

  11. Zastavte projekt a zmeňte nasledujúci postup:

    Set oRange = ActiveDocument.Sections(1).Range

    na

    Set oRange = oWord.ActiveDocument.Sections(1).Range
  12. Znova spustite program. Všimnite si, že kód môžete spustiť niekoľkokrát bez chyby.

Pri vytváraní projektu programu Visual Basic Automatizácia Wordu, ak má váš projekt odkaz na objektovú knižnicu Microsoft Wordu, vzorový kód pre objekty, metódy a vlastnosti objektového modelu Word je k dispozícii v súbore Pomocníka programu Word. Keď sa kurzor nachádza nad kľúčovým slovom v kóde, zobrazí sa príslušný text Pomocníka stlačením klávesu F1. Vzorový kód v téme Pomocníka bude kódom programu Microsoft Word Visual Basic for Applications. Nezobrazí odkazy na objekt, ktoré vyžaduje kód jazyka Visual Basic. Budete musieť pridať kvalifikátory podľa potreby.

Odkazy

Ďalšie informácie nájdete v nasledujúcich článkoch databázy Microsoft Knowledge Base:

178510 PRB: metóda automatizácie Excelu objektu "_Global" zlyhala

167223 K dispozícii je súbor Pomocníka na automatizáciu balíka Microsoft Office 97Ďalšie informácie o automatizácii aplikácií balíka Office nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledujúce číslo:

222101 HOWTO: Vyhľadanie a používanie dokumentácie k objektovým modelom balíka Office

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.

Boli tieto informácie užitočné?

Aká je podľa vás jazyková kvalita textu?
Čo sa vám páčilo, prípadne čo nie?
Stlačením tlačidla Odoslať sa vaše pripomienky použijú na zlepšenie produktov a služieb spoločnosti Microsoft. Váš správca IT bude môcť tieto údaje zhromažďovať. Vyhlásenie o ochrane osobných údajov.

Ďakujeme za vaše pripomienky!

×