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

#1 1. 12. 2009 17:25:13

whitecocaine
Člen
Registrace: 10. 12. 2008
Příspěvků: 20

Vložení aktuálního HH:MM do buňky

Chtěl bych vkládat automaticky po napsání jména do další buňky (sloupečku) aktuální čas (příchodu), ale tak aby se čas pořád neaktualizoval za nový.

Sloupečky:
Jméno; čas příchodu;


Je na to nějaká funkce?

Editoval whitecocaine (1. 12. 2009 19:12:09)

Offline

#2 1. 12. 2009 20:48:48

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: Vložení aktuálního HH:MM do buňky

Z buňky kde budete mít aktalizující se čas myslím =now() ho překopírujte jako hodnotu.

Funkce na to být nemůže protože ty se přepočítávají.

Offline

#3 1. 12. 2009 23:16:56

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 842

Re: Vložení aktuálního HH:MM do buňky

Šlo by něco jako:

=IF(ISBLANK(A2);"";IF(B2="";NOW();B2))

Je nutno mít povolené iterace. (do a2 se píše jméno)

Editoval lp. (1. 12. 2009 23:18:09)

Offline

#4 2. 12. 2009 08:47:38

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Vložení aktuálního HH:MM do buňky

lp.: vtipné :-)

nebo si udělat jednoduché makro a mít na listu tlačítko, které do nastavené buňky vloží aktuální čas jako hodnotu (ne jako vzorec), viz např.
http://ooo.e-hanus.cz/makro-vloz-aktualni-cas.01.ods

Editoval hanus (2. 12. 2009 09:57:56)

Offline

#5 2. 12. 2009 11:52:47

whitecocaine
Člen
Registrace: 10. 12. 2008
Příspěvků: 20

Re: Vložení aktuálního HH:MM do buňky

pro: hanus
To Vaše tlačítko s makrem se mi moc líbí. Jak nastavím pouze to, aby se vkládaly pouze hodnoty HH:MM aktuálního času bez datumu?

Edit:
Všiml jsem si apostrofu na začátku u vloženého času '02.12.2009 13:50:51. Ten pak znemožňuje použít formátování buňky - "Čas". Jak mohu upravit makro, aby vkládalo aktuální čas bez apostrofu?

Editoval whitecocaine (2. 12. 2009 13:59:13)

Offline

#6 2. 12. 2009 14:32:24

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Vložení aktuálního HH:MM do buňky

Makro vkládá datum a čas jako string:
    list.getcellbyposition(sloupec, radek ).string = now()

úpravou na
    list.getcellbyposition(sloupec, radek ).value = now()

se bude datum+čas vkládat jako číslo a pak je potřeba použít správný formát v tom políčku.
Momentálně nenám čas vyhledat, jak přímo z makra tomu políčku nastavit formát času, ale jednou se k tomu dostanu :-)

Offline

#7 2. 12. 2009 14:39:33

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: Vložení aktuálního HH:MM do buňky

Zrovna minuly tyden jsem resilv vicemene totez, ale na docs.google.com a tam prave makra nejdou (nebo o nich aspon nevim).
Kdyby to tedy slo hezky funkci, bral bych to. Tu uvedenou vyse jsem zkousel, ale nejak me to nepsalo datum a cas, jak bych si predstavoval (psalo me to furt aktualni) - ale mozna jsem to delal blbe, uz byla noc.


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#8 2. 12. 2009 14:47:20

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Vložení aktuálního HH:MM do buňky

Takže makro včetně nastavení formátu HH:MM
http://ooo.e-hanus.cz/makro-vloz-aktualni-cas.02.ods

je to řádek
  list.getcellbyposition(sloupec, radek ).NumberFormat = 40 '40 je HH:MM, 41 je HH:MM:SSS

Offline

#9 2. 12. 2009 15:44:09

whitecocaine
Člen
Registrace: 10. 12. 2008
Příspěvků: 20

Re: Vložení aktuálního HH:MM do buňky

Nakopíroval jsem tlačítko formuláře (pro vkládání času) z Vašeho do mého dokumentu a při poklepání na něj mi to hlásí chybu:

Při spouštění skriptu vnd.sun.star.script:Standard.Module1.aktualni_cas? language=Basic&location=document v jazyce Basic došlo k chybě Skriptovacího rámce.

Zpráva: The following Basic script could not be found:
library: 'Standard'
module: 'Module1'
method: 'aktualni_cas'
location: 'document'


Ale když vytvořím ve Vašem dokumentě nový list, tak tlačítko funguje. Jak bych měl tedy postupovat při vkládání tlačítka do mého dokumentu?

Editoval whitecocaine (2. 12. 2009 15:48:11)

Offline

#10 2. 12. 2009 17:29:01

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 842

Re: Vložení aktuálního HH:MM do buňky

Zvedavec napsal(a)

Tu uvedenou vyse jsem zkousel, ale nejak me to nepsalo datum a cas, jak bych si predstavoval (psalo me to furt aktualni)

V tomto případě: a2 : něco, třeba text, b2 : vzorec, (iterace povoleny) Funkce kontroluje vlastní hodnotu a pokud hodnotou není "", tak ji něčím přepíše.

Offline

#11 2. 12. 2009 17:53:41

whitecocaine
Člen
Registrace: 10. 12. 2008
Příspěvků: 20

Re: Vložení aktuálního HH:MM do buňky

Už to mám vyřešené. Díky za pomoc hanusovi

Editoval whitecocaine (2. 12. 2009 17:54:47)

Offline

#12 3. 12. 2009 17:17:46

Zvedavec
Člen
Registrace: 8. 11. 2004
Příspěvků: 484

Re: Vložení aktuálního HH:MM do buňky

lp. napsal(a)
Zvedavec napsal(a)

Tu uvedenou vyse jsem zkousel, ale nejak me to nepsalo datum a cas, jak bych si predstavoval (psalo me to furt aktualni)

V tomto případě: a2 : něco, třeba text, b2 : vzorec, (iterace povoleny) Funkce kontroluje vlastní hodnotu a pokud hodnotou není "", tak ji něčím přepíše.

Jo, uz jsem to "rozchodil", "i ja mam sve chvilky" :-)

Kazdopadne je skoda, ze tom podelanym webu (docs.go...) to nejde, protze tam nejsou iterace povoleny.


LO většinou poslední verze, na W10 prof. 32b/64b

Offline

#13 4. 12. 2009 05:54:58

whitecocaine
Člen
Registrace: 10. 12. 2008
Příspěvků: 20

Re: Vložení aktuálního HH:MM do buňky

Ještě bych chtěl poradit, jak upravit makro, aby se vložený čas vkládal jen do sloupce B. Př.: označená buňka D10, kliknu na tlačítko, ale aby se čas vložil do B10. Jde to vůbec takhle?

Tady je makro:

REM  *****  BASIC  *****

Sub aktualni_cas()

    dokument = ThisComponent
    vyber = dokument.currentselection    
    list = dokument.sheets(vyber.rangeaddress.sheet)

    start_radek = vyber.rangeaddress.startrow
    start_sloupec = vyber.rangeaddress.startcolumn
    konec_radek = vyber.rangeaddress.endrow
    konec_sloupec = vyber.rangeaddress.endcolumn

    for radek = start_radek to konec_radek

        for sloupec = start_sloupec to konec_sloupec
        

'            bunka = list.getcellbyposition(sloupec, radek )
            list.getcellbyposition(sloupec, radek ).Value = now()
            list.getcellbyposition(sloupec, radek ).NumberFormat = 40


        next sloupec

    next radek
    
End Sub

Editoval whitecocaine (4. 12. 2009 06:00:41)

Offline

#14 4. 12. 2009 16:44:33

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Vložení aktuálního HH:MM do buňky

Jistě že jde. Dosud to čas vkládalo do všech vybraných buněk.

Ta úprava, kterou chcete, je:
http://ooo.e-hanus.cz/makro-vloz-aktualni-cas.03.ods

Sub aktualni_cas()

    dokument = ThisComponent
    vyber = dokument.currentselection    
    list = dokument.sheets(vyber.rangeaddress.sheet)

    radek = vyber.rangeaddress.startrow
    sloupec = 1 'sloupec B

    list.getcellbyposition(sloupec, radek ).Value = now()
    list.getcellbyposition(sloupec, radek ).NumberFormat = 40 '40 je HH:MM, 41 je HH:MM:SS

    
End Sub

Editoval hanus (4. 12. 2009 16:47:12)

Offline

Zápatí