Přinutíte své klienty povolit makra Excelu

Chcete-li použít jakékoli makro v aplikaci Excel, vaši uživatelé musí makra povolit. To znamená, že musí aplikaci Excel udělit oprávnění ke spouštění maker v jejich prostředí. Chcete-li povolit makra, uživatelé kliknou na tlačítko Povolit obsah v bezpečnostním varování, které se objeví nad řádkem vzorců.

Přinutíte své klienty povolit makra Excelu

Pointa je, že můžete napsat všechna luxusní makra na světě, ale nikdy se nespustí, pokud vaši uživatelé makra nepovolí. To vyvolává otázku; můžete donutit uživatele, aby povolili makra? Odpověď je ano – s trochou triku.

Myšlenka je poměrně jednoduchá. Vytvoříte list s názvem, řekněme, START. Tento list obsahuje pouze jednoduché upozornění, že makra musí být povolena. Potom skryjete všechny listy v sešitu kromě listu START. Nakonec napíšete jednoduché makro, které při otevření sešitu odkryje všechny listy.

Přinutíte své klienty povolit makra Excelu

V tomto okamžiku, když je sešit otevřen, Excel požádá uživatele, aby povolil makra. Uživatelé k tomu budou nuceni, protože uvidí pouze váš úvodní list. Ostatní listy budou skryty!

Aby tato technika fungovala, potřebujete dvě makra: Jedno makro skryje všechny kromě listu START při zavření sešitu a další makro, které při otevření sešitu zobrazí všechny kromě listu START.

Nejprve se vypořádejte s akcemi, které je třeba provést, když se sešit zavře. :

Aktivujte Editor jazyka Visual Basic stisknutím ALT+F11 na klávesnici

V okně Projekt najděte název projektu/sešitu a kliknutím na znaménko plus vedle něj zobrazte všechny listy.

Klepněte na ThisWorkbook.

V rozevíracím seznamu Událost vyberte událost BeforeClose.

Přinutíte své klienty povolit makra Excelu

Zadejte nebo vložte následující kód:

Private Sub Workbook_BeforeClose (Zrušit jako Boolean)
'Krok 1: Deklarujte své proměnné
  Dim ws As Worksheet
'Krok 2: Odkryjte úvodní list
  Sheets("START").Visible = xlSheetVisible
'Krok 3: Začněte procházet všechny pracovní listy
  Pro každý ws In ThisWorkbook.Worksheets
'Krok 4: Zkontrolujte název každého listu
  Pokud ws.Name <> "START" Potom
'Krok 5: Skryjte list
  ws.Visible = xlVeryHidden
  End If
'Krok 6: Vraťte se k dalšímu listu
  Další ws
'Krok 7: Uložte sešit
  Aktivní sešit.Uložit
End Sub

V kroku 1 deklarujete objekt s názvem ws, který vytvoří paměťový kontejner pro každý list, kterým budete procházet.

V kroku 2 se ujistěte, že je list START viditelný.

V kroku 3 spustíte opakování a sdělíte Excelu, že chcete vyhodnotit všechny listy v tomto sešitu.

V kroku 4 jednoduše porovnáte název START s listem, který je aktuálně ve smyčce. Tento krok zajistí, že akce, které následují, se použijí na všechny listy kromě listu START.

Pokud se názvy listů liší, v kroku 5 skryjete list pomocí vlastnosti xlVeryHidden. Tato vlastnost nejen skryje list, ale také zabrání uživateli jej ručně odkrýt pomocí uživatelského rozhraní.

V kroku 6 se vrátíte zpět a získáte další list.

V kroku 7, po vyhodnocení všech listů, makro uloží sešit a skončí.

Nyní musíte napsat makro, které zvládne všechny akce, které je třeba provést při otevření sešitu:

Aktivujte Editor jazyka stisknutím ALT+F11.

V okně Projekt najděte název projektu/sešitu a kliknutím na znaménko plus vedle něj zobrazte všechny listy.

Klepněte na ThisWorkbook.

V rozevíracím seznamu Událost vyberte Otevřít událost.

Přinutíte své klienty povolit makra Excelu

Zadejte nebo vložte následující kód:

Private Sub Workbook_Open()
'Krok 1: Deklarujte své proměnné
  Dim ws As Worksheet
'Krok 2: Začněte procházet všechny pracovní listy
  Pro každý ws In ThisWorkbook.Worksheets
'Krok 3: Odkryjte všechny listy
  ws.Visible = xlSheetVisible
'Krok 4: Přejděte na další list
  Další ws
'Krok 5: Skryjte úvodní list
  Sheets("START").Visible = xlVeryHidden
End Sub

V kroku 1 deklarujete objekt s názvem ws k vytvoření paměťového kontejneru pro každý list, kterým procházíte.

V kroku 2 spustíte opakování a sdělíte Excelu, že chcete vyhodnotit všechny listy v tomto sešitu.

V kroku 3 zobrazíte list, který je aktuálně ve smyčce. Tento krok efektivně zobrazí všechny listy, protože každý list je viditelný.

V kroku 4 se vrátíte zpět a získáte další list.

Po zviditelnění všech listů krok 5 skryje list START. Opět použijete vlastnost xlVeryHidden, takže uživatel nebude moci ručně odkrýt list pomocí uživatelského rozhraní.

Po implementaci obou maker budete mít sešit, který bude fungovat pouze v případě, že uživatel povolí makra!


Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows Aplikace Microsoft Word otevírá soubory v režimu pouze pro čtení, takže je nelze upravovat? Nebojte se, metody jsou uvedeny níže

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit chyby při tisku nesprávných dokumentů Microsoft Word Chyby při tisku dokumentů Word se změněným písmem, chaotickými odstavci, chybějícím textem nebo ztraceným obsahem jsou poměrně časté. Nicméně ne

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Pokud jste použili pero nebo zvýrazňovač ke kreslení na snímky aplikace PowerPoint během prezentace, můžete kresby uložit pro další prezentaci nebo je vymazat, takže až ji příště ukážete, začnete s čistými snímky aplikace PowerPoint. Chcete-li vymazat kresby perem a zvýrazňovačem, postupujte podle těchto pokynů: Mazání čar jedna na […]

Obsah knihovny stylů v SharePointu 2010

Obsah knihovny stylů v SharePointu 2010

Knihovna stylů obsahuje soubory CSS, soubory XSL (Extensible Stylesheet Language) a obrázky používané předdefinovanými vzorovými stránkami, rozvržení stránek a ovládací prvky v SharePointu 2010. Chcete-li najít soubory CSS v knihovně stylů webu pro publikování: Vyberte Akce webu→ Zobrazit Veškerý obsah webu. Zobrazí se obsah webu. Knihovna stylů se nachází v […]

Formátování čísel v tisících a milionech v sestavách Excel

Formátování čísel v tisících a milionech v sestavách Excel

Nezahlcujte své publikum gargantuovskými čísly. V aplikaci Microsoft Excel můžete zlepšit čitelnost řídicích panelů a sestav formátováním čísel tak, aby se zobrazovaly v tisících nebo milionech.

Jak sdílet a sledovat weby SharePoint

Jak sdílet a sledovat weby SharePoint

Naučte se používat nástroje sociálních sítí SharePoints, které umožňují jednotlivcům a skupinám komunikovat, spolupracovat, sdílet a propojovat se.

Jak převést data do juliánských formátů v aplikaci Excel

Jak převést data do juliánských formátů v aplikaci Excel

Juliánská data se často používají ve výrobním prostředí jako časové razítko a rychlý odkaz pro číslo šarže. Tento typ kódování data umožňuje maloobchodníkům, spotřebitelům a servisním zástupcům identifikovat, kdy byl produkt vyroben, a tím i stáří produktu. Juliánská data se také používají v programování, armádě a astronomii. Odlišný […]

Jak vytvořit webovou aplikaci Access

Jak vytvořit webovou aplikaci Access

Webovou aplikaci můžete vytvořit v Accessu 2016. Co je tedy vlastně webová aplikace? Web znamená, že je online, a aplikace je jen zkratka pro „aplikaci“. Vlastní webová aplikace je online databázová aplikace přístupná z cloudu pomocí prohlížeče. Webovou aplikaci vytváříte a udržujete ve verzi pro počítače […]

Panel rychlého spuštění v SharePointu 2010

Panel rychlého spuštění v SharePointu 2010

Většina stránek v SharePointu 2010 zobrazuje seznam navigačních odkazů na panelu Snadné spuštění na levé straně stránky. Panel Snadné spuštění zobrazuje odkazy na doporučený obsah webu, jako jsou seznamy, knihovny, weby a stránky publikování. Panel Snadné spuštění obsahuje dva velmi důležité odkazy: Odkaz na veškerý obsah webu: […]

Co znamenají chybové zprávy Řešitel v Excelu?

Co znamenají chybové zprávy Řešitel v Excelu?

U jednoduchých problémů Řešitel v Excelu obvykle rychle najde optimální hodnoty proměnné Řešitel pro účelovou funkci. Ale v některých případech má Řešitel problém najít hodnoty proměnné Řešitel, které optimalizují účelovou funkci. V těchto případech Řešitel obvykle zobrazí zprávu nebo chybovou zprávu, která popisuje nebo popisuje problém, který […]