Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Požymiai

Vykdant kodas, automatizavimo valdymo Microsoft Excel, vieną iš šių klaidų gali kilti:

"Microsoft Excel 97" ir naujesnėse versijose "Excel", galite gauti vieną iš šių klaidos pranešimų:

1 klaidos pranešimas

Vykdymo laiko klaida "1004":
Metodas "< metodo pavadinimas >" objekto "_Global" nepavyko

2 klaidos pranešimas

Taikomosios programos nustatytas arba objektas apibrėžtas klaida

Microsoft Excel 95, galite gauti vieną iš šių klaidos pranešimų:

1 klaidos pranešimas

Klaida vykdymo metu "-2147023174"
OLE automatizavimo klaidos

2 klaidos pranešimas

Klaida vykdymo metu "462":
Nuotolinio serverio kompiuterio nėra arba jis neprieinamas.

Priežastis

Visual Basic nustatyta nuoroda į "Excel", nes kodą, kad "Excel" objektui, metodą arba ypatybę be tinkamų elementas su "Excel" objekto kintamąjį eilutę. Visual Basic negali paleisti šią nuorodą iki programos pabaigos. Šis paklydęs trukdo automatizavimo kodą daugiau nei vieną kartą paleidus kodą.

Sprendimas

Norėdami išspręsti šią problemą, pakeisti kodą, todėl kiekvieną skambutį į "Excel" objekto, metodą arba ypatybę yra kvalifikuotas su atitinkamą objekto kintamąjį.

Būsena

Tai yra sisteminis apribojimas.

Daugiau informacijos

Automatizuoti Microsoft Excel, galite nustatyti objekto kintamąjį, paprastai reiškia programos "Excel" objekto arba objekto "Excel" darbaknygę. Tada kitų objekto kintamųjų galima nustatyti darbalapyje, diapazoną ar kiti objektai Microsoft Excel objekto modeliu. Kai rašote kodą, kad galėtumėte naudoti "Excel" objekto, metodą arba ypatybę, visada turėtumėte prieš pokalbį su atitinkamą objekto kintamąjį. Jei ne, Visual Basic nustato savo nuoroda į "Excel". Ši nuoroda gali sukelti problemų, kai bandote paleisti automatizavimo kodas kelis kartus. Dėmesį, kad net jei kodo eilutę prasideda objekto kintamąjį, skambučio gali Excel objektą, būdą, ar ypatybė kodą, kuris nėra objekto kintamąjį su žyma linija viduryje.

Šie veiksmai parodo, kaip atkurti šią problemą ir kaip spręsti šią problemą.

Veikimo atkūrimo veiksmai

  1. Pradėti naujas standartas EXE projektas Visual Basic. Pagal numatytuosius parametrus sukuriama Form1.

  2. Meniu projektas spustelėkite nuorodasir tada patikrinkite, ar objektų bibliotekos versija "Excel", kurį norite automatizuoti.

  3. Vieta CommandButton kontrolės Form1.

  4. Nukopijuokite kodo pavyzdyje kodas Form1 langą.

          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
  5. Vykdyti meniu, spustelėkite pradėti, arba paspauskite F5, kad paleistumėte programą.

  6. Spustelėkite CommandButton . Nėra klaida. Tačiau, nuoroda į "Excel" buvo sukurta ir nebuvo išleistas.

  7. Dar kartą spustelėkite CommandButton . Atkreipkite dėmesį, kad galite gauti vieną iš klaidų pranešimų, aprašytus skyriuje "Požymiai".

    Pastaba. Parodomas klaidos pranešimas, nes kodas nurodo langelį būdą be prieš skambutį į
    xlSheet objekto kintamąjį.

  8. Projekto sustabdyti ir pakeisti šią kodo eilutę:

    xlSheet.Range(Cells(1,1),Cells(10,2)).Value = "Hello"

    Pakeisti į kodo eilutę, panašūs į šią kodo eilutę.

    xlSheet.Range(xlSheet.Cells(1,1),xlSheet.Cells(10,2)).Value = "Hello"
  9. Paleiskite programą. Atkreipkite dėmesį, kad jūs galite paleisti kodą kelis kartus negaudami klaidos pranešimo.

Nuorodos

Norėdami gauti daugiau informacijos, spustelėkite šiuos straipsnių numerius ir perskaitykite „Microsoft“ žinių bazės straipsnius:

167223 Microsoft Office 97 automatizavimo žinyno failą

189618 galite gauti klaidos pranešimą "vykdyklės klaida '-2147023174' (800706ba)" arba "vykdyklės klaida '462'" vykdant Visual Basic kodą, kuris naudoja Word valdymo automatizavimas

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×