VB6 futási probléma

VB6 futási probléma
2006-06-18T17:46:55+02:00
2006-06-19T22:08:54+02:00
2022-10-31T08:00:50+01:00
skar
Sziasztok!

Az lenne problémám, hogy készítettem egy progit vb6-ban excel táblák felhasználásával. Az én gépemen office 2003 van még a másik gépeken amikre telepíteni szeretném office 2000. Megcsináltam a telepítőtt a vb6 telepítőjével. És ha másik gépre telepítem amin office 2000 van akkor a progi elindul de amikor kezelni kéne az excel táblákat elszáll, a szokásos windows hiba üzivel "a ... program leáll kiván hibaüzenetett küldeni". Hogy lehetne azt megoldani hogy office független legyen? tehát hogy teljesen mindegy milyen office van a gépen működjön.

Remélem tudtok segíteni.
Mutasd a teljes hozzászólást!
usor = 0 On Error Resume Next usor = Range("A3:A35").SpecialCells(4).Row On Error GoTo 0 MsgBox usor

(Szerkesztés > Ugrás > Irányított > Üres cella)

Ha usor=0, akkor nincs üres a tartományban.
Ha nem 0, akkor az az első üres.
Mutasd a teljes hozzászólást!

  • Az EXcel (office) Objektumkönyvtárat ne kapcsold be.

    Ahol olyasmit írtál, hogy

    dim ex as new excel.Application
    set ex=new excel.application

    Azok helyett:

    dim ex as object
    set ex=createobject("Excel.Application")
    ----

    Ezt akkor kényelmes megcsinálni, ha a tesztben már fut a programot, mert ezután az "ex." leírása után nem kapsz segítséget a VB szerkesztőjétől.
    Mutasd a teljes hozzászólást!
  • Az EXcel (office) Objektumkönyvtárat ne kapcsold be.

    Microsoft excel x.y OBject Library-ra gondolsz ugye.
    Mutasd a teljes hozzászólást!
  • MICU mester segíts!

    Ezt a kód részletet te írtad valakinek én próbáltam felhesználni.
    usor = .Worksheets("Munka1").Range("a65536").End(xlUp).Row
    If .Worksheets("Munka1").Range("a" & usor) <> "" Then
    usor = usor + 1
    Miután kivettem amit írtál előzőleg és megcsináltam a create object-tet ezután elszáll a progim ilyen hiba üzivel "Alkalmazásdefiniált vagy objektumdefiniált hiba!" Nem tudom mit csináljak Légyszives segíts rajtam.
    Mutasd a teljes hozzászólást!
  • Dim ex As Object Set ex = CreateObject("Excel.application") With ex .Visible = True .workbooks.open "e:\Valami.xls" usor = .Worksheets("Munka1").Range("a65536").end(-4162).Row ' Nem használhatod az "xl*" állandókat. If .Worksheets("Munka1").Range("a" & usor) <> "" Then usor = usor + 1 End If MsgBox usor .activeworkbook.Close False .quit End With Set ex = Nothing

    Nem használhatod az "xl*" állandókat.
    Tehát vagy te definiálod ezeket:
    xlUp = -4196
    vagy átírod.

    Az állandók értékét az Excelben az Immediate ablakban lekérdezheted
    ? xlUp
    Vagy a View > Object Browser-ben rákereshetsz.
    Mutasd a teljes hozzászólást!
  • SZIA MICU!

    Köszönöm az eddigi segítséget viszont még zargatnálak egy kicsit. A kodot amit írtál én két helyen szeretném felhasználni, az egyiken szépen müxik, de a másikon van egy kis problámám vele, egy előre formázott excel táblába kellene az adatokat bevinni. A formázott alatt azt értem hogy a táblázat első két sora "fejlécként" szolgál utánna kellenének az adatok vb-ből majd a 34-35. sor pedig "összegző sorok". Tehát a 3. sortól kéne bevinni az adatokat a 32. sorig. Próbáltam úgy hogy az "a3"tól induljon lefelé de akkor usor=36 adja.Gondoltam menjen felfelé "b34"-től usor=2 igen de a 2. sornak van értéke.
    SZóval kezdek meghülyülni. Légyszi segíts ha tudsz.
    Mutasd a teljes hozzászólást!
  • usor = 0 On Error Resume Next usor = Range("A3:A35").SpecialCells(4).Row On Error GoTo 0 MsgBox usor

    (Szerkesztés > Ugrás > Irányított > Üres cella)

    Ha usor=0, akkor nincs üres a tartományban.
    Ha nem 0, akkor az az első üres.
    Mutasd a teljes hozzászólást!
  • Nagyon Szépen Köszönöm a segítséget.
    A pont természetesen a tied.
    Mutasd a teljes hozzászólást!
  • Szívesen
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd