Přejít na hlavní obsah

VBA Excel: jak nastavit výchozí tiskárnu

  • Zikmund Němcová
  • Tipy

V aplikaci VBA Excel je možné programově nastavit výchozí tiskárnu. To může být užitečné, pokud potřebujete automaticky nastavit tisk dokumentů nebo zpráv na konkrétní tiskárně. V tomto článku se podíváme na to, jak lze tento úkol provést pomocí VBA kódu.

Chcete-li začít, musíte určit seznam dostupných tiskáren pomocí Vlastnosti tiskárny printerdevices kolekce wmiobject "Win32_Printer". Poté můžete ze seznamu vybrat požadovanou tiskárnu a nastavit ji jako výchozí tiskárnu pomocí vlastnosti DefaultPrinter kolekce wmiobject "Win32_Printer".

V kódu níže nejprve vytvoříme objekt WMIObject, který představuje sbírku tiskáren. Pak použijeme smyčku For Each k přeskupení všech tiskáren ve sbírce. V rámci cyklu zkontrolujeme stav, pokud se název aktuální tiskárny shoduje s názvem tiskárny, který chceme nastavit jako výchozí, pak jej nastavíme pomocí vlastnosti DefaultPrinter.




Dim objPrinter As Object


Dim strPrinterName As String


strPrinterName = "název tiskárny"


For Each objPrinter In GetObject("winmgmts:!\\.


oot\cimv2").ExecQuery("SELECT * FROM Win32_Printer")


If objPrinter.Name = strPrinterName Then


objPrinter.SetDefaultPrinter


End If


Next objPrinter

Po spuštění kódu by měla být ve výchozím nastavení nainstalována tiskárna se zadaným názvem. Nyní, při tisku dokumentů nebo zpráv, budou odeslány na vybranou tiskárnu.

Instalace výchozí tiskárny pomocí kódu VBA vám umožní automatizovat proces nastavení tisku a ušetřit čas, zvláště pokud potřebujete pracovat s více dokumenty nebo zprávami.

VBA Excel: instalace tiskárny

VBA Excel má možnost nastavit výchozí tiskárnu pomocí metody SetDefaultPrinter. To může být užitečné, pokud chcete nastavit tisk dokumentů na konkrétní tiskárně, aniž byste museli pokaždé vybrat tiskárnu.

K instalaci výchozí tiskárny do aplikace VBA Excel použijte následující kód:

Sub SetDefaultPrinter(printerName As String)Dim wshNetwork As ObjectOn Error Resume Next' Создание объекта сетиSet wshNetwork = CreateObject("WScript.Network")' Установка принтера по умолчаниюwshNetwork.SetDefaultPrinter printerNameIf Err.Number <> 0 ThenMsgBox "Не удалось установить принтер по умолчанию!"End If' Освобождение объекта сетиSet wshNetwork = NothingEnd Sub

Chcete-li tento postup použít, musíte jako argument uvést název tiskárny. Například:

Sub Main()' Установка принтера "Принтер по умолчанию"SetDefaultPrinter "Принтер по умолчанию"End Sub

Pokud je název tiskárny nesprávně uveden nebo došlo k chybě při instalaci výchozí tiskárny, zobrazí se chybová zpráva.

Nyní víte, jak nastavit výchozí tiskárnu VBA Excel. To může být užitečné, pokud potřebujete automatizovat tisk dokumentů na konkrétní tiskárně.

Jak nastavit výchozí tiskárnu VBA Excel

V jazyce VBA (Visual Basic for Applications) lze pro Excel použít kód k nastavení výchozí tiskárny pro tisk dokumentů. To může být užitečné, pokud máte více tiskáren a musíte si vybrat konkrétní tiskárnu, kterou chcete tisknout z postupu makra.

K instalaci výchozí tiskárny do aplikace VBA Excel lze použít metodu SetDefaultPrinter z objektu WScript.Network . Tato metoda vám umožňuje nastavit název tiskárny jako výchozí tiskárnu.

Zde je příklad kódu, který vám umožní nastavit tiskárnu "Tiskárny1" jako výchozí tiskárnu:

Dim objNetwork As Object

Set objNetwork = CreateObject("WScript.Network")

Set objNetwork = Nothing

Chcete-li nainstalovat jinou výchozí tiskárnu, nahraďte "Tiskár1" názvem požadované tiskárny v kódu.

Tento makro postup můžete vyvolat ve svém kódu VBA Excel nebo jej propojit s tlačítkem nebo jiným objektem na listu. Po provedení makra bude tiskárna uvedená v kódu nastavena ve výchozím nastavení.

Všimněte si, že k provedení tohoto postupu je zapotřebí oprávnění správce v počítači ke změně nastavení tiskárny.