Pazīmes
Izpildot kodu, kas izmanto automatizācijas vadības Microsoft Excel, var rasties kāda no šīm kļūdām:
Programmā Microsoft Excel 97 un jaunākās versijās Excel, tiek parādīts kāds no šādu kļūdas ziņojumu:
1. kļūdas ziņojums
Izpildlaika kļūda "1004":
Objekta "_Global' '< metodes nosaukums >' metode neizdevās
2. kļūdas ziņojums
Definēts lietojumprogrammas vai objekta definēta kļūda
Programmā Microsoft Excel 95, tiek parādīts kāds no šiem kļūdu ziņojumiem:
1. kļūdas ziņojums
Izpildlaika kļūda "-2147023174"
OLE automatizācijas kļūda
2. kļūdas ziņojums
Izpildlaika kļūda "462":
Attālā servera mašīnas nepastāv vai nav pieejams.
Iemesls
Visual Basic dēļ rindas kodu, kas izsauc Excel objektu, metodi vai rekvizītu bez kvalifikācijas elements ar Excel objekta mainīgais ir izveidojusi atsauci uz Excel. Visual Basic neatbrīvo šo atsauci, kamēr programma. Šo atsauci klīstošs traucē automatizācijas kodu, palaižot šo kodu vairāk nekā vienu reizi.
Risinājums
Lai novērstu šo problēmu, tāpēc katra zvana Excel objektu, metodi vai rekvizītu kvalificēts ar attiecīgā objekta mainīgais mainīt kodu.
Statuss
Šī darbība ir ar nolūku.
Papildinformācija
Lai pieteiktos Microsoft Excel, tiek noteikts objekta mainīgo, kas parasti attiecas uz programmu Excel vai Excel darbgrāmatas objektu. Pēc tam objektu mainīgajiem var iestatīt attiecas uz darblapu, diapazonu vai citi objekti programmā Microsoft Excel objektu modelis. Rakstot kodu, lai izmantotu Excel objektu, metodi vai rekvizītu, ir vienmēr pirms sarunu ar attiecīgā objekta mainīgais. Ja jums nav Visual Basic izveido atsauci uz Excel. Šī atsauce var rasties problēmas, mēģinot palaist kodu automatizācijas vairākas reizes. Ņemiet vērā, ka pat tad, ja līnija kods sākas ar objekta mainīgais, zvanu var veikt Excel objektu, metodi vai rekvizītu centrā rindas kodu, kas atrodas nav objekta mainīgais.
Šādi raksturo atveidošanas problēma un to, kā atrisināt problēmu.
Šādas darbības radīšana
-
Sākt jaunu projektu standarta EXE Visual Basic. Pēc noklusējuma tiek izveidota veidlapa Form1.
-
Projekta izvēlnē noklikšķiniet uz atsaucesun pēc tam pārbaudiet versijas, kuru vēlaties automatizēt Excel objektu bibliotēka.
-
Ievietojiet Form1 CommandButton vadīklas.
-
Kopēt kodu piemērā kods Form1 logu.
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 -
Izvēlnē izpildīt noklikšķiniet uz Sāktvai nospiediet taustiņu F5, lai startētu programmu.
-
Noklikšķiniet uz CommandButton vadīklas. Kļūda nerodas. Tomēr atsauce uz Excel ir izveidota un nav izlaista.
-
Vēlreiz noklikšķiniet uz CommandButton vadīklas. Ņemiet vērā, ka tiek parādīts kāds no kļūdu ziņojumiem, kas aprakstītas sadaļā "Simptomi".
Piezīme. Kļūdas ziņojums tiek parādīts, jo kods attiecas uz šūnas metodi, pirms sarunu ar
objekta mainīgais xlSheet . -
Pārtraukt projekta un mainīt kodu šādu rindiņu:
xlSheet.Range(Cells(1,1),Cells(10,2)).Value = "Hello"
Mainīt kodu, kas atgādina šādu rindiņu koda rindas.
xlSheet.Range(xlSheet.Cells(1,1),xlSheet.Cells(10,2)).Value = "Hello"
-
Vēlreiz palaidiet programmu. Ievērojiet, ka varat palaist kodu vairākas reizes bez kļūdas ziņojuma parādīšanas.
Atsauces
Lai iegūtu papildinformāciju, noklikšķiniet uz šiem rakstu numuriem un lasiet Microsoft zināšanu bāzes rakstus:
Pieejams 167223 Microsoft Office 97 automatizācijas palīdzības failu
189618 var tikt parādīts kļūdas ziņojums "izpildlaika kļūda"-2147023174"(800706ba)" vai "izpildlaika kļūda"462"" Visual Basic kods, kas izmanto automatizācijas vadības Word palaižat