Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Dávate k dispozici ceníky v MS Excel? Chce zamezit jejich použivání po skončení platnosti?
Obdržel jsem zajimavý dotaz. Jak zamezit otevření starého dokumentu. Když už jsem psal odpověď, proč ji zárověň nepublikovat, třeba pomůže i někomu jinému.
Pokud máte na webu ke stažení ceník výrobku v Excelu, je vhodné tomuto dokumentu určit platnost. Po spuštění neaktuálního ceníku obdrží uživatel informaci, že je neaktuální a případně můžeme tento dokument automaticky zavřít. Jak na to popíšu v tomto článku.
Pro zjištění, zda je dokument platný. Jednoduchá verze která zjistí zda je dokument starší než aktuální datum. V případě že ano zobrazí dialogové okno.
Private Sub Workbook_Open()
PlatiDo = DateValue("30.11.2011") 'plati do 30.11.2011
Dnes = Date
If PlatiDo < Dnes Then
MsgBox "Dokument je již neplatný."
End If
End Sub
Poznámka: Nahrát do ThisWorkBook
Rozšíření předchozího příkladu o automatické uzavření neplatného dokumentu v MS Excelu.
Private Sub Workbook_Open()
PlatiDo = DateValue("30.11.2011") 'plati do 30.11.2011
Dnes = Date
If PlatiDo < Dnes Then
MsgBox "Dokument je již neplatný. Stahněte si novou verzi na officel.lasakovi.com, tento ceník bude uzavřen."
End If
ActiveWorkbook.Close False
End Sub
Poznámka: Dialogové okno můžeme doplnit o informaci, kde může čtenář najít aktuální verzi.
Jelikož možností jak výše uvedený kód rozšířit je spousta, pokusím se doplnit dle dotazů v komentářích.
Článek byl aktualizován: 19.09.2020 11:07
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 30.01.12 13:33
Pokoušel jsem se makro do dokumentu zapracovat, ale nefunguje to. Funkce private nepovolena a pak chyba v syntaxi. Rád bych ale spíše omezil platnost některých svých word dokumentů s nabídkami. Připravuju je přes OpenOffice. Pokud by existovalo něco pro PDF, bylo by to ještě lepší. Děkuji za radu jirka
Přidáno: 30.01.12 18:10
To Jirka: Zkoušíte to v Excelu? Je kód vložen do ThisWorkBook? Bohužel OpenOffice neznám.
Přidáno: 30.01.12 21:47
OpenOffice má v sobě taktéž makra a mají fungovat podobně jako v excelu. Nevím kde je v excelu ThisWorkBook.
Přidáno: 31.01.12 13:58
Zkouším to v openoffice. Jsou tam podobná ve VBA....už se mi to podařilo zapsat, vypadá to takto: 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 officel.lasakovi.com, tento ceník bude uzavřen." End If ActiveWorkbook.Close False End Sub ale píše mi to BASIC, chyba v syntaxi, neočekávaný symbol If a je přitom označen tento řádek Dnes = Date If
Přidáno: 31.01.12 18:28
To Jirka: Bohužel sinataxi OpenOffice neznám. Zkuste na jejich webu.
Přidáno: 31.01.12 21:50
I tak moc díky. Aktuálně to řeším na www.openoffice.cz pokud chcete nahlédnout, jak moc a jestli vůbec je VBA odlišný v obou aplikacích.
Přidáno: 01.02.12 17:29
To Jirka: Děkuji za info, rád nahlédnu, ale zatím zůstanu u VBA pro MS Office.
Přidáno: 22.10.13 09:57
Dobry den Lze se nejakym zpusobem po ukonceni platnosti jeste do souboru dostat? (pri pouziti VBA kod 2) Dekuji za info
Přidáno: 22.10.13 17:32
To David: Řešil jsem tak, že originál byl bez kódu a s kódem sešit odcházel. Možným řešením může být použití Auto_Open() a poté otevřít soubor skriptem. Je potřeba vyzkoušet.
Přidáno: 14.04.15 09:13
Dobrý den, uveřejněný kód je výborný,používám vezi 1. chtěl jsem se ale dotázat na jednu věc - šlo by tímto kóde omezit nějak funkce - zobrazení tlačítek,zamezení zápisu...? Kód používám v sešitu,kam si zapisuji poznámky-odvedenou práci v zaměstnání ( mám to pouze pro vlastní potřebu ). Předem děkuji za vaši odpověď.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |