Přejít na hlavní obsah

Popis funkce Shell v aplikaci VBA Excel s příklady

  • Richard Müllerová
  • Rady

Funkce Shell je jednou z nejvýkonnějších a nejpokročilejších funkcí v jazyce VBA Excel. Umožňuje vám provádět příkazy operačního systému a spouštět externí programy přímo z makra. Tato funkce je zvláště užitečná, když potřebujete automatizovat úkoly, které vyžadují interakci s externími aplikacemi nebo použití příkazového řádku.

Funkce Shell přijímá jeden povinný argument-řádek obsahující příkaz operačního systému nebo cestu k spustitelnému souboru externího programu. Kromě toho můžete zadat volitelné argumenty, jako je styl okna, ve kterém bude spuštěn program, a režim spuštění příkazu.

Příklad použití funkce Shell v aplikaci VBA Excel:

V tomto příkladu se funkce Shell používá ke spuštění programu Poznámkový blok (notepad.exe). Při spuštění je programu přiřazen styl vbnormalfocus, což znamená, že okno programu bude otevřeno v aktivním režimu.

Popis funkce Shell VBA Excel

Syntaxe funkce Shell:

Parametry:

  • pathname - povinná možnost, která představuje cestu k spustitelnému souboru nebo příkazu, který je třeba provést.
  • windowstyle - možnost, která určuje styl okna, ve kterém bude příkaz spuštěn. Ve výchozím nastavení (pokud není nastavena možnost) bude okno skryté. Možné hodnoty:
  • vbHide (0) - skrýt okno
  • vbNormalFocus ( 1) - Zobrazit okno v normálním režimu a poskytnout mu zaostření
  • vbMinimizedFocus ( 2) - zobrazit okno v minimálním stavu a poskytnout mu zaostření
  • vbMaximizedFocus ( 3) - zobrazit okno v rozbaleném stavu a poskytnout mu zaostření
  • vbMinimizedNoFocus ( 6) - zobrazit okno v minimálním stavu a neposkytnout mu zaostření
  • vbMaximizedNoFocus ( 7) - zobrazit okno v rozbaleném stavu a neposkytnout mu zaostření

Vrácená hodnota:

Funkce vrací ID okna, ve kterém je příkaz spuštěn. Tuto hodnotu lze použít ke kontrole stavu provádění příkazu nebo k zavření okna po jeho spuštění.

Příklady použití funkce Shell:

Shell "C:\Program Files\Internet Explorer\iexplore.exe", vbNormalFocus

Tento příklad otevírá program Internet Explorer.

Tento příklad otevře kalkulačku Windows.

Dim cmd As String

cmd = "ping google.com"

Shell "cmd.exe /c " & cmd, vbHide

Tento příklad provede příkaz "ping google.com" v příkazovém řádku a skrývá okno příkazového řádku.

Výsledkem je, že funkce Shell lze dosáhnout automatizace mnoha úkolů, včetně spouštění externích programů, spouštění příkazů, skriptů a dalších. Je to velmi pohodlná a výkonná funkce pro práci s operačním systémem Windows.

Jak používat funkci Shell v aplikaci VBA Excel

Funkce Shell v aplikaci VBA Excel umožňuje spouštět externí programy a provádět příkazy operačního systému. Jedná se o velmi užitečnou funkci, která může výrazně rozšířit možnosti automatizace v Excelu.

Chcete-li použít funkci Shell v aplikaci VBA Excel, musíte použít následující návrh:

  • Shell ("cesta_k_program_nebo_komanda")

Při volání funkce Shell je třeba jako argument zadat cestu k programu nebo příkazu, který má být spuštěn. Vrácenou hodnotou funkce je identifikátor procesu.

Příklady použití funkce Shell:

  1. Spuštění programu Notepad:
    • Shell("notepad.exe")
  2. Otevření webové stránky v prohlížeči:
    • Shell("start https://www.google.com")
  3. Volání příkazu operačního systému:
    • Shell("cmd /c echo Hello, World!")

Funkce Shell v aplikaci VBA Excel lze použít k automatizaci různých úkolů, jako je spouštění externích programů nebo příkazů, otevírání webových stránek, spouštění skriptů atd. Je to velmi výkonný nástroj, který vám umožní automatizovat mnoho akcí a usnadnit práci s Excelem.

Příklady použití funkce Shell

Funkce Shell v aplikaci VBA Excel umožňuje spouštět externí programy a provádět příkazy pomocí příkazového shellu operačního systému. Zvažte několik příkladů použití této funkce:

Shell "C:\Program Files\Internet Explorer\iexplore.exe"
Shell "cmd.exe /c echo Hello, world!"
Shell "C:\Documents\example.txt", vbNormalFocus
Shell "C:\Program Files\WinRAR\WinRAR.exe x C:\Archive.rar C:\ExtractedFiles", vbNormalFocus

Všechny příklady jsou uvedeny pro operační systém Windows, nicméně funkce Shell funguje i na jiných platformách, jako je macOS a Linux.

Výhody funkce Shell VBA Excel

Funkce Shell v aplikaci VBA Excel umožňuje spouštět externí programy a provádět příkazy operačního systému přímo z makra aplikace Excel. Je to výkonný nástroj, který může zlepšit efektivitu práce s daty a automatizovat rutinní úkoly.

Výhody funkce Shell VBA Excel:

1. Spuštění externích programů: Volání funkce Shell umožňuje spouštět jakékoli externí programy, jako jsou textové editory, Prohlížeče, spustitelné soubory a další. To je zvláště užitečné, když potřebujete zpracovat data v jiném programu nebo integrovat Excel s jinými aplikacemi.

2. Provádění příkazů operačního systému: Funkce Shell také umožňuje provádět příkazy operačního systému, jako je přesun, kopírování nebo mazání souborů, vytváření složek, spouštění skriptů a další. To může být užitečné při automatické aktualizaci dat, zálohování nebo konfiguraci systému.

3. Přenos parametrů a argumentů: Funkce Shell umožňuje přenos parametrů a argumentů do externího programu nebo příkazu operačního systému. Můžete například přenést cestu k souboru, který chcete otevřít, nebo hodnotu proměnné, kterou chcete použít ve skriptu. To umožňuje flexibilní přizpůsobení chování spouštěcích programů a příkazů.

4. Zobrazení výsledku provádění: Funkce Shell vrací identifikátor procesu spuštěného programu nebo příkazu, což umožňuje sledovat jeho spuštění a získávat informace o výsledku. To umožňuje sledovat plnění úkolů a přijímat další kroky na základě získaných dat.

5. Automatizace procesů: Použití funkce Shell v aplikaci VBA Excel umožňuje automatizovat rutinní úkoly a zvýšit efektivitu práce. Můžete například vytvořit makro, které otevře soubory v textovém editoru, uloží je do jiného formátu a odešle e-mailem, vše stisknutím tlačítka.

Když se obrátíte na funkci Shell v aplikaci VBA Excel, můžete implementovat mnoho funkcí, které usnadňují práci s daty a interakci s jinými programy a operačním systémem. Umožňuje vytvářet složitější makra, automatizovat rutinní úkoly a zvyšuje flexibilitu a funkčnost aplikace Excel.