Makro Excel pro zjištění, zda je sešit otevřený

Když přemýšlíte o automatickém otevírání sešitů aplikace Excel, zvažte, co se může stát, když se pokusíte otevřít knihu, která je již otevřená. Ve světě bez VBA se Excel pokusí soubor otevřít znovu, přičemž se zobrazí zpráva s upozorněním, že všechny neuložené změny budou ztraceny. Proti takovému výskytu se můžete chránit tím, že před pokusem o jeho opětovné otevření zkontrolujete, zda je daný soubor již otevřen.

Makro Excel pro zjištění, zda je sešit otevřený

Vyhněte se této varovné zprávě.

Jak makro funguje

První věc, kterou si na tomto makru všimnete, je, že se jedná o funkci, nikoli proceduru Sub. Jak uvidíte, uděláte z tohoto makra funkci, která vám umožní předat mu libovolný název souboru, abyste otestovali, zda je tento soubor již otevřen.

Podstata tohoto kódu je jednoduchá. Testujete daný název souboru, abyste zjistili, zda jej lze přiřadit proměnné Object. K proměnné Object lze přiřadit pouze otevřené sešity. Při pokusu o přiřazení uzavřeného sešitu k proměnné dojde k chybě.

Pokud lze daný sešit přiřadit, je sešit otevřený; pokud dojde k chybě, sešit se zavře.

Funkce FileIsOpenTest(TargetWorkbook As String) Jako logická hodnota
'Krok 1: Deklarujte své proměnné
    Dim TestBook As Workbook
'Krok 2: Řekněte Excelu, aby v případě chyby pokračoval
    Při chybě pokračovat dále
'Krok 3: Pokuste se přiřadit cílový sešit k TestBooku
    Nastavit TestBook = Workbooks (TargetWorkbook)
'Krok 4: Pokud nenastala žádná chyba, sešit je již otevřen
    Pokud Err.Number = 0 Pak
    FileIsOpenTest = True
    Jiný
    FileIsOpenTest = False
    End If
End Function

První věc, kterou makro udělá, je deklarovat proměnnou String, která bude obsahovat název souboru, který si uživatel vybere. TestBook je název vaší proměnné String.

V kroku 2 sdělíte Excelu, že při spouštění tohoto kódu může být chyba, a v případě chyby kód obnovte. Bez tohoto řádku by se kód jednoduše zastavil, když dojde k chybě. Opět otestujete daný název souboru, abyste zjistili, zda jej lze přiřadit proměnné Object. Pokud lze daný sešit přiřadit, je otevřený; pokud dojde k chybě, je zavřeno.

V kroku 3 se pokusíte přiřadit daný sešit k proměnné objektu TestBook. Sešit, který se pokoušíte přiřadit, je proměnná typu String s názvem TargetWorkbook. TargetWorkbook je předán funkci v deklaracích funkcí (viz první řádek kódu). Tato struktura eliminuje potřebu pevně zakódovat název sešitu a umožňuje vám jej místo toho předat jako proměnnou.

V kroku 4 jednoduše zkontrolujete, zda nedošlo k chybě. Pokud k chybě nedošlo, sešit je otevřený, takže nastavte FileIsOpenTest na hodnotu True. Pokud došlo k chybě, sešit není otevřený a FileIsOpenTest nastavíte na hodnotu False.

Tuto funkci lze opět použít k vyhodnocení jakéhokoli souboru, který jí předáte, prostřednictvím argumentu TargetWorkbook. V tom spočívá krása vložení makra do funkce.

Následující makro ukazuje, jak implementovat tuto funkci. Zde zavoláte novou funkci FileIsOpenTest, abyste se ujistili, že uživatel nemůže otevřít již otevřený soubor:

Dílčí makro1()

'Krok 1: Definujte proměnnou typu String

    Dim FName jako varianta

    Dim FNFileOnly As String

'Krok 2: Metoda GetOpenFilename aktivuje dialogové okno

    FName = Application.GetOpenFilename( _

            FileFilter:="Sešity Excel,*.xl*", _

            Title:="Vyberte sešit k otevření", _

            MultiSelect:=False)

'Krok 3: Otevřete vybraný soubor, pokud ještě není otevřen

    Pokud FName <> False Then

    FNFileOnly = StrReverse(Left(StrReverse(FName), _

                 InStr(StrReverse(FName), ") - 1))

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ý […]