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))

Leave a Comment

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Objevte, jak efektivně využívat příkazy Znovu a Opakovat ve Wordu 2016 pro opravy dokumentů a zlepšení pracovního toku.

Jak změnit zamčené a skryté formátování buněk

Jak změnit zamčené a skryté formátování buněk

Naučte se, jak efektivně změnit stav buněk v Excelu 2010 z uzamčených na odemčené nebo z neskrytého na skrytý s naším podrobným průvodcem.

Jak přeložit text v cizím jazyce ve Wordu 2016

Jak přeložit text v cizím jazyce ve Wordu 2016

Zjistěte, jak efektivně využít překladové nástroje v Office 2016 pro překlad slov a frází. Překlad Gizmo vám pomůže překládat text s lehkostí.

Jak používat šablony ve Wordu 2013

Jak používat šablony ve Wordu 2013

Šablona ve Wordu šetří čas a usnadňuje vytváření dokumentů. Zjistěte, jak efektivně používat šablony ve Wordu 2013.

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Zjistěte, jak si vytvořit e-mailová upozornění ve SharePointu a zůstat informováni o změnách v dokumentech a položkách.

Obsah SharePoint Online a typy obsahu

Obsah SharePoint Online a typy obsahu

Objevte skvělé funkce SharePoint Online, včetně tvorby a sdílení dokumentů a typů obsahu pro efektivnější správu dat.

Výpočet fiskálního čtvrtletí pro datum v Excelu

Výpočet fiskálního čtvrtletí pro datum v Excelu

Zjistěte, jak vypočítat fiskální čtvrtletí v Excelu pro různá data s použitím funkce CHOOSE.

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Zjistěte, jak vytvořit hypertextový odkaz v PowerPointu, který vám umožní pohodlně navigovat mezi snímky. Použijte náš návod na efektivní prezentace.

Zobrazit starší verzi dokumentu aplikace Word 2016

Zobrazit starší verzi dokumentu aplikace Word 2016

Uložili jste nedávno svůj dokument? Náš návod vám ukáže, jak zobrazit starší verze dokumentu v aplikaci Word 2016.

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra vlastní kartě na pásu karet nebo tlačítku na panelu nástrojů Rychlý přístup. Návod pro Excel 2013.