Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Calc » Import souboru přes makro - VYŘEŠENO » 30. 3. 2014 10:40:28

Mnohokrat dekuji. Poupravil jsem to k obrazu svemu a nyni to funguje presne jak potrebuji. Pro zjednoduseni jsem se rozhodl, ze CSV soubory budou v podadresari "uzivatele", takze staci automaticky nacist posledni ze vsech souboru v tomto podadresari a importovat ho.


Kdyby nekdo resil podobny problem, tak vyber podadresare relativne k dokumentu resim timto kodem:

If Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools") Then
  GlobalScope.BasicLibraries.loadLibrary("Tools")
End If
sFilePath = ConvertFromURL(DirectoryNameOutOfPath(ThisComponent.getURL(),"/")) & "\uzivatele\"

A vyber nejaktualnejsi verze souboru (jinymi slovy abecedne posledni soubor) takto:

sNextFile = Dir(sFilePath,0)
While sNextFile <> ""
  sFileName = sNextFile
  sNextFile = Dir
Wend

Nakonec se jen cesta k souboru slozi ze 2 promennych:

sFilePath = sFilePath & sFileName

Jeste jednou dekuji za pomoc! Bez Vas by mi to zabralo mnohem vice casu.

#2 Re: Calc » Import souboru přes makro - VYŘEŠENO » 29. 3. 2014 16:49:07

Dekuji! Uz mi to importuje presne jak potrebuji. Ted budu resit ten automaticky vyber nazvu souboru k importu... Ale vubec nechapu, k cemu je tam ta podminka (ani jedna z nich). Funguje to i bez ni...

#3 Re: Calc » Import souboru přes makro - VYŘEŠENO » 29. 3. 2014 12:17:35

Z jineho Calc souboru to asi nepripada v uvahu. To by se mi generovalo o dost hure nez soucasne CSV. Idealne bych to chtel zachovat z CSV, pripadne by nebyl problem generovat XML, ale myslim, ze to situaci nijak nepomuze.


Pokud otevrenym nebo zavrenym souborem myslite CSV soubor, tak ten bude vzdy zavreny.


Tento import je jen pocatek. Sesit bude muset umet dalsi veci, ktere mi zatim nejsou uplne zname... Kazdopadne tady je sesit, se kterym prave zacinam. Zatim si to predstavuji tak, ze na prvnim listu "Akce", by melo byt tlacitko "Importovat uživatele", po jehoz stisknuti dojde k importu CSV souboru. V idealnim pripade by uzivatel nemel byt obtezovan zadnym dialogem s vyberem souboru, ale mel by se automaticky importovat CSV soubor, ktery vyhovuje urcitym pravidlum a nachazi se ve stejne slozce jako samotny sesit. A data by mela byt importovana na druhy list "Uživatelé", viz sesit...


CSV soubor se bude jmenovat napriklad takto: nejaky-text-bez-podtrzitka_uzivatele_2014-03-29_12-10-36.csv. Takovych souboru bude nekolik a ja bych potreboval, aby byl automaticky importovan nejaktualnejsi z nich (at uz podle casu vytvoreni v nazvu souboru nebo podle atributu vytvoreno ve vlastnostech souboru) a zaroven soubor obsahujici slovo "uzivatele".


Toto uz je ale dalsi problem. Kdybyste se podival na ten import, byl bych velmi rad.


Priklad CSV souboru:

1;Karel;2014-03-11;0:13:21
2;Pepa;2014-03-12;1:00:00
3;Franta;2014-03-13;65279:59:59

#4 Re: Calc » Import souboru přes makro - VYŘEŠENO » 29. 3. 2014 11:34:32

V prve rade dekuji za rychlou odpoved.
V oblasti maker o office baliku obecne jsem skutecne naprosty zacatecnik.
Vazne myslim import. Mozna je matouci, ze davam na vyber v podstate jakykoliv format, ale to neni problem, protoze aplikaci, ktera data do souboru exportuje, vytvarim take ja. Takze je na mne, v jakem formatu data budou.
Jiz jsem zde na foru podobny dotaz nasel, prave ho studuji a testuji. Problem je, ze makro importovana data vlozi do noveho sesitu (snad to rikam dobre, proste se otevre nove okno). Ja potrebuji, aby se data importovala do aktualniho sesitu...

#5 Calc » Import souboru přes makro - VYŘEŠENO » 29. 3. 2014 10:56:14

LucasCZE
Odpovědí: 8

Dobry den, uz nejakou chvili se snazim prijit na to, jak pres makro importovat urcity soubor, ale nevim si rady.

Importovany soubor muze byt ve formatu CSV, XML, HTML nebo treba i v jinem formatu. (Tedy v jednom z nich, nemusi podporovat vsechny. Nevim, ktery format je pro tento ucel nejvhodnejsi.)

V souboru budou zaznamy, ktere obsahuji ID, jmeno, datum a cas. (Cas ve formatu: libovolny_pocet_hodin:minuty:sekundy. Takze ne 0-23 hodin, ale klidne 40 hodin.)

A ja bych potreboval mit nekde v sesitu tlacitko, po jehoz stisknuti se zaznamy ze souboru importuji na dany list.

Mohl by mi nekdo prosim poradit, jak na to? V makrech se moc nevyznam a v OpenOffice uz vubec ne.

Zápatí

Používáme FluxBB