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

#1 31. 1. 2012 03:11:00

jkucera70
Člen
Registrace: 31. 1. 2012
Příspěvků: 29

Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Prosím o návod na vytvoření expirace souboru Writer. Potřebuju omezit platnost souboru na asi 2 dny. Navic nejlépe, aby tento soubor nešlo uložit pod jiným jménem, kopírovat, tisknout atd. Zkrátka jen aby se uživateli zobrazoval na jeho PC po nějakou povolenou dobu.
Děkuji moc za pomoc j.

Někde jsem vyštrachal toto makro

Private Sub Workbook_Open()
PlatiDo = DateValue("31.1.2012") 'plati do 31.1.2012
Dnes = Date If PlatiDo < Dnes Then
MsgBox "Dokument je již neplatný. Stahněte si novou verzi na xxx.com, tento ceník bude uzavřen."
End If
ActiveWorkbook.Close False
End Sub

ale píše mi to chyba v syntaxi Neočekávaný symbol If a to na 3.řádku

Editoval jkucera70 (31. 1. 2012 15:28:35)

Offline

#2 1. 2. 2012 08:58:56

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

IF musí zřejmě začínat na novém řádku. "Dnes = Date" je samostatně - je to deklarace. Navíc se asi makro musí spouštět z jiného dokumetu, nebo tlačítkem.
   Příkaz "Close" funguje jen když je soubor otevřený příkazem "Open" - to znamená, že by se měl otevírat jen z jiného dokumentu.
  Z vlastního dokumentu (například tlačítkem) sice vyskočí hláška MsgBox-u, ale program skočí do Basicu a dokument se nezavře.

Editoval neutr (1. 2. 2012 09:16:22)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 1. 2. 2012 11:30:15

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Vítejte na fóru,


toto funguje:


Sub Workbook_Open

PlatiDo = DateValue("31.1.2012") 'plati do 31.1.2012
Dnes = DateValue(Date)
If PlatiDo < Dnes Then
MsgBox "Dokument je již neplatný. Stahněte si novou verzi na xxx.com, tento ceník bude uzavřen."
thisComponent.close(True)
End If

End Sub

Chyba byla v if jak píše neutr.
Další -> je třeba i proměnou Dnes převést z textu na datum (Date vrací datum jako text)

Makro si uložte v konkrétním dokumentu a spojte s událostí dokumentu (otevření dokumentu a uložit do)


;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 1. 2. 2012 11:50:07

jkucera70
Člen
Registrace: 31. 1. 2012
Příspěvků: 29

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Test makra vypadá dobře. Soubor se nyní opravdu zavře.Ale ...
Makro nejde přiřadit události, protože není vůbec v nabídce. Takže při otevření souboru se nic neděje.
Takže jsem vytvořil ještě jedno makro, které je uloženo mezi Mojemakra. Toto přiřadit jde, nicméně při při otevření se makro nespustí. Tak teď nevím, co mám udělat.

Offline

#5 1. 2. 2012 13:00:27

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Po volbě Nástroje | Makra | Správce maker | Openoffice.org Basic se Vám otevře nové okno.


Makro musíte uložit do knihovny s názvem dokumentu (přes Nový vytvoříte nový modul a vložíte do něj makro).


Opět si okno vyvolejte a stiskněte Přiřadit v novém okně pak záložka Události vyberete Otevřít dokument a stiskněte tlačítko Makro a vyberete příslušné makro (bude v knihovně s názvem dokumentu (ne Moje makra)).


Ve spodní části okna je ještě volba Uložit do tam vyberete název dokumentu a potvrdíte OK


;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#6 1. 2. 2012 13:13:06

jkucera70
Člen
Registrace: 31. 1. 2012
Příspěvků: 29

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Děkuji, ale tak to prostě nejde. Makro mám vytvořeno. Když se přes nabídku Správce maker podívám na daný soubor, tak nový modul je vidět v souboru, kde by mělo makro fungovat.
Když ale dám přiřadit makro k události Otevřít dokument, tak tam toto makro vůbec není.
Ještě jsem se díval znovu na postup. Někde bude problém v ukládání. Když makro vytvořím, uložím soubor, tak ho v makrech vidím. Ne však tak, abych ho mohl přiřadit události.
Jakmile soubor zavřu a znovu otevřu, tak makro uložené u tohoto souboru prostě není.

Problémem podle mě je, že soubor ukládám jako *.doc
Když jsem postup použil u *.odt, tak to funguje.

To je však problém, protože lidé v drtivé většině používají alespoň jako prohlížeč MS Office a pokud budu chtít, aby si před stažením ceníku instalovali OO, tak stránky asi opustí.
Nemáte nějaké řešení, např. s *.pdf, *.jpg apod.?
Děkuji moc

Editoval jkucera70 (1. 2. 2012 15:16:47)

Offline

#7 1. 2. 2012 17:11:40

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Pozor, i to makro je psané ve StarBasicu a ne ve VBA, tudíž v MS Office nebude fungovat. Potřebujete makro pro MSO, to může být i to Vaše první, ale to zase nefunguje v OpenOffice.


Jde o dva velmi rozdílné programy a kompatibilita maker je minimální. Můžete zkusit LibreOffice, měl by na tom být o něco málo lépe.


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 2. 2. 2012 00:02:42

jkucera70
Člen
Registrace: 31. 1. 2012
Příspěvků: 29

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

Ještě na to zkusím mrknout. Ale zatím to vypadá tak, že asi zveřejním dva ceníky. Jeden v excelu, kde budete upozornění v záhlaví, že nemusí být platný.
No a hlavně tam dám ceník v OO, doporučím ke stažení bezplatný OO. Aspoň bude nějaká propagace.
Díky moc za vše

Offline

#9 2. 2. 2012 08:14:45

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Expirace souboru (platnost) - VYŘEŠENO - MAKRO

To první makro by chtělo ozkoušet v MSO tam by mělo fungovat bez problému. Já už bohužel tuto možnost nemám.
Pokud bude makro fungovat, mohou mít oba ceníky stejnou funkčnost (expiraci).


Jediný problém by nastal, pokud by si někdo stáhl ceník pro MSO a otevíral ho v OpenOffice.

________________________________________-

ZNAČÍM TÉMA JAKO VYŘEŠENÉ


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí