Markó hozzáadás Excel nélkül

Markó hozzáadás Excel nélkül
2009-01-29T13:12:51+01:00
2009-01-30T12:31:39+01:00
2022-11-12T10:45:35+01:00
Maestro
Üdv!

Olyan scriptet szeretnék csinálni, ami egy CSV fájlon végez el műveleteket (sorokat töröl, rendez, stb), de nem Excel-ből akarom hozzáadni.

Annyit sikerült eddig megcsinálni, hogy elindítom az Excel-t, és megpróbálok végrehajtani egy scriptet. Az

Dim objXL Set objXL = CreateObject("Excel.Application") With objXL .Workbooks.Open ("valami.csv") .Application.Run "myscript.vbs" .Application.Quit End With Set objXL = Nothing

a myscript.vbs-ben vannak az elvégzendő műveletek. Sajnos a Windows Script Host hibát dob, hogy a myscript.vbs nem futtatható, mert vagy nem érhető el a munkafüzetben, vagy le vannak tiltva a makrók.

Hogy lehet ezt megoldani?
Mutasd a teljes hozzászólást!
Ez mint rekordrendezés elég érdekes fogalom:

béla;2008.01.01;;1;2;3;
;2008.10.03;;3;4;5;
;2008.03.08;;3;4;5;
;;;;;;
;2008.12.30;;3;4;5;
jocó;2008.01.02;;7;8;9;
;2008.04.07;1;2;3;


-->
béla;2008.01.01;;1;2;3;
;2008.03.08;;3;4;5;
;2008.10.03;;3;4;5;
;2008.12.30;;3;4;5;
;;;;;;
jocó;2008.01.02;;7;8;9;
;2008.04.07;1;2;3;


Mert adatbázis és excel rendezési logikában valami ilyesmi lesz:
béla;2008.01.01;;1;2;3; jocó;2008.01.02;;7;8;9; ;2008.10.03;;3;4;5; ;2008.03.08;;3;4;5; ;2008.04.07;1;2;3; ;2008.12.30;;3;4;5; ;;;;;;

Ha úgy "kb" sorrendben van, akkor inkább egy tömbkezeléses logikát javasolnék (és akkor nem kell excel a "rendezéshez")
Olvasod amíg a név üres (vagy van adat), rendezed és kiírod.
Ha új név jött, akkor ismét az előzőt kezded.

Ez meg lehet akár vbs de bármilyen "normálisabb" programnyelvből egy exe készítés.
Mutasd a teljes hozzászólást!

  • >>Ot akarod hozzaadni..?
    Mutasd a teljes hozzászólást!
  • A
    Application.Run "myscript.vbs"
    vbs-ének honnan kellene tudni, hogy te min akarsz dolgozni?

    Ha az Excel megnyitotta, akkor egyébként is a külvilág számára zárolt.

    Miért nem vba-ban csinálod? Ha meg mindenáron nem abban akarod, akkor miért azon (objXL-n) keresztül.
    Mutasd a teljes hozzászólást!
  • akkor hogyan? sajnos VBA-hoz elég láma vagyok, annyi a kritérium hogy az Excelt valahogy kikerülni.
    Mutasd a teljes hozzászólást!
  • Esetleg
    .Application.Run "myscript.vbs"
    helyett
    Run "myscript.vbs"

    ---
    De ebben a pillanatban
    Set objXL = CreateObject("Excel.Application")
    már nem kerülöd ki az Excelt
    Mutasd a teljes hozzászólást!
  • abból a szempontból szeretném kikerülni az Excelt, hogy amikor megnyitja a valami.csv-t, akkor adjon hozzá egy makrót, és futtassa is le. ?
    Mutasd a teljes hozzászólást!
  • Ne haragudj, de milyen műveleteket akarsz te elvégezni a csv file-on ahhoz, hogy meg kell nyisd excelben és ott végezz rajta műveleteket? Excel nélkül nem oldható meg?

    Ha már vbs-t használsz, akkor magából a vbs-ből is megoldhatod a feladatot, nem kell hozzá excel makró.

    Láttam már a másik témában, hogy nem kedveled a Java Excel API-t, de szvsz könnyebb volna, ha 0 vbs/vba tudás mellett inkább azt használnád...
    Mutasd a teljes hozzászólást!
  • rendezni szeretném két kulcs szerint, aztán formázni, de most jött valami isteni szikra, ha igaz, akkor megoldódott, ha nem, akkor jövök vissza...
    Mutasd a teljes hozzászólást!
  • Nos a szikrának annyi, úgyhogy akkor a részletes probléma:

    Van egy JAVA programom, ami mindenféle adatokból csv file-t csinál, nagyjából így néz ki:

    név;dátum;[üresoszlop];adat1;adat2;adat3; //ez a fejléc
    béla;2008.01.01;;1;2;3;
    ;2008.10.03;;3;4;5;
    ;2008.03.08;;3;4;5;
    ;;;;;;
    ;2008.12.30;;3;4;5;
    jocó;2008.01.02;;7;8;9;
    ;2008.04.07;1;2;3;
    ;;;;;;
    ;2008.01.02;;3;4;5;
    ;2008.01.09;;5;9;5;
    ;2008.01.08;;3;4;5;

    Ez egy elég nagy adattábla, ezt szeretném úgy rendezni, hogy ABC-sorrendben, azon belül pedig dátum szerint legyenek rendezve az adatok, úgy, hogy új név esetén még egy üres sort rak elé. Ezért találtam ki, hogy megcsinálom a makrót, ami ezeket a műveleteket elvégzi, aztán ráeresztem a csv-re, hogy excelben való megnyitáskor ezt lássam:

    név;dátum;[üresoszlop];adat1;adat2;adat3;
    béla;2008.01.01;;1;2;3;
    ;2008.03.08;;3;4;5;
    ;2008.10.03;;3;4;5;
    ;2008.12.30;;3;4;5;
    ;;;;;;
    jocó;2008.01.02;;7;8;9;
    ;2008.01.02;;3;4;5;
    ;2008.01.08;;3;4;5;
    ;2008.01.09;;5;9;5;
    ;2008.04.07;;1;2;3;

    Mutasd a teljes hozzászólást!
  • Most mi is a feladat?

    Makró hozzáadás Excel nélkül

    vagy?

    Margó hozzáadás Excel nélkül
    Mutasd a teljes hozzászólást!
  • Ez mint rekordrendezés elég érdekes fogalom:

    béla;2008.01.01;;1;2;3;
    ;2008.10.03;;3;4;5;
    ;2008.03.08;;3;4;5;
    ;;;;;;
    ;2008.12.30;;3;4;5;
    jocó;2008.01.02;;7;8;9;
    ;2008.04.07;1;2;3;


    -->
    béla;2008.01.01;;1;2;3;
    ;2008.03.08;;3;4;5;
    ;2008.10.03;;3;4;5;
    ;2008.12.30;;3;4;5;
    ;;;;;;
    jocó;2008.01.02;;7;8;9;
    ;2008.04.07;1;2;3;


    Mert adatbázis és excel rendezési logikában valami ilyesmi lesz:
    béla;2008.01.01;;1;2;3; jocó;2008.01.02;;7;8;9; ;2008.10.03;;3;4;5; ;2008.03.08;;3;4;5; ;2008.04.07;1;2;3; ;2008.12.30;;3;4;5; ;;;;;;

    Ha úgy "kb" sorrendben van, akkor inkább egy tömbkezeléses logikát javasolnék (és akkor nem kell excel a "rendezéshez")
    Olvasod amíg a név üres (vagy van adat), rendezed és kiírod.
    Ha új név jött, akkor ismét az előzőt kezded.

    Ez meg lehet akár vbs de bármilyen "normálisabb" programnyelvből egy exe készítés.
    Mutasd a teljes hozzászólást!
  • makró.
    Mutasd a teljes hozzászólást!
  • valószínűleg itt a pont, ezt java-ból is meg tudom csinálni.
    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