Príznaky
Pri spúšťaní kódu, ktorý používa automatizácie ovládanie programu Microsoft Excel, môže vyskytnúť jeden z nasledujúcich chýb:
V programe Microsoft Excel 97 a v novších verziách programu Excel, zobrazí sa jedno z nasledujúce chybové hlásenie:
Chybové hlásenie 1
Chyba spustenia "1004":
Metóda "< názov metódy >" objektu "_Global" zlyhala
Chybové hlásenie 2
Aplikáciou alebo objektom chyba
V programe Microsoft Excel 95 sa zobrazí jedno z nasledujúcich chybových hlásení:
Chybové hlásenie 1
Chyba spustenia "-2147023174"
OLE automatizácie chyba
Chybové hlásenie 2
Chyba spustenia "462":
Stroj vzdialený server neexistuje alebo je nedostupný.
Príčina
Visual Basic vytvoril odkaz na program Excel, pretože riadok kódu, ktorý vyžaduje program Excel objekt, metóda alebo vlastnosť bez oprávňujúcich prvkom premennej objektu programu Excel. Visual Basic vydať tento odkaz kým ukončíte program. Potulný odkaz zasahuje automatizácie kód po kód je spustiť viackrát.
Riešenie
Ak chcete vyriešiť tento problém, zmeniť kód tak, že každý hovor Excel objekt, metóda alebo vlastnosť je kvalifikovaný s premenná príslušný objekt.
Stav
Toto správanie je zámerné.
Ďalšie informácie
Na automatizáciu Microsoft Excel, môžete vytvoriť premennú objektu, ktoré zvyčajne označuje aplikácie Excel alebo objekt zošit programu Excel. Iné objekt premenné potom nastaviť odkazovať na pracovný hárok, rozsah alebo iné objekty v objektovom modeli programu Microsoft Excel. Keď napíšete kód používať Excel objekt, metóda alebo vlastnosť, by malo vždy predchádzať hovor s premenná príslušný objekt. Ak nemáte, Visual Basic vytvorí vlastný odkaz na program Excel. Tento odkaz môžu spôsobovať problémy, keď sa pokúsite spustiť Automatizácia kód viackrát. Na vedomie, že aj v prípade, že riadok kódu začína premennej objektu, hovor môže Excel objekt, metóda alebo vlastnosť v strede riadok kódu, ktorý pred nie je objekt premenná.
Nasledovné kroky ukazujú, ako reprodukovať tento problém a ako opraviť problém.
Kroky na reprodukovanie správania
-
Začať nový štandard EXE projekt v jazyku Visual Basic. V predvolenom nastavení sa vytvorí Form1.
-
V ponuke projekt kliknite na Odkazya potom skontrolujte objekt knižnica pre verziu programu Excel, ktorý chcete automatizovať.
-
Miesto CommandButton kontroly na Form1.
-
Skopírujte nasledujúci príklad kód na kód okno Form1.
Option Explicit
Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets("Sheet1")
xlSheet.Range(Cells(1, 1), Cells(10, 2)).Value = "Hello"
xlBook.Saved = True
Set xlSheet = Nothing
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub -
V ponuke Run kliknite na tlačidlo Štartalebo stlačte kláves F5 spustite program.
-
Kliknite na CommandButton kontroly. Žiadna chyba. Však odkaz na program Excel vytvoril a nebol uvoľnený.
-
Kliknite na CommandButton kontrola znova. Všimnite si, že sa zobrazí niektoré z chybových hlásení, ktoré sú popísané v časti "Príznaky".
Poznámka: Chybové hlásenie sa vyskytuje, pretože kód označuje spôsob bunky bez predchádzajúceho hovor
xlSheet premennej objektu. -
Zastavenie projektu a zmeniť nasledujúci riadok kódu:
xlSheet.Range(Cells(1,1),Cells(10,2)).Value = "Hello"
Zmeniť riadok kódu podobajú nasledujúci riadok kódu.
xlSheet.Range(xlSheet.Cells(1,1),xlSheet.Cells(10,2)).Value = "Hello"
-
Znova spustite program. Všimnite si, že môžete spustiť kód viackrát bez zobrazenia chybového hlásenia.
Odkazy
Ďalšie informácie získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
167223 súbor Pomocníka automatizácie Microsoft Office 97
189618 sa môže zobraziť chybové hlásenie "chyba spustenia"2147023174"(800706ba)" alebo "chyba spustenia"462"" pri spustení programu Visual Basic kód, ktorý používa automatizácie ovládanie programu Word