Wer ein bestimmtes Excel-Dokument regelmässig drucken möchte, der kann dies quasi auf Knopfdruck bzw. per Doppelklick tun.

Hintergrund dieses Beitrags ist die Anforderung, das per vorgegebener Excel-Datei ein Ausdruck auf einem Bon-Drucker als auch das Öffnen einer Kassenschulade ausgeführt werden soll.

Zu diesem Zweck zwei Dateien anlegen:

excel-druck.cmd

@echo off
powershell .\excel-druck.ps1 C:\Users\%username%\Documents\Test.xlsx

Wichtig ist an dieser Stelle, den vollständigen Pfad als auch Dateinamen der Excel-Datei angeben!

excel-druck.ps1

$excelApp = New-Object -comobject Excel.Application
if ($args.Length -lt 1)
{
 Write-Host "Please provide full path and filename (ie: `"c:\books\excelfile.xlsx`")"
 Exit
}
$excelBook = $excelApp.Workbooks.Open($args[0])
$excelBook.PrintOut()
$excelApp.Quit()

Damit das PowerShell-Skript erfolgreich ausgeführt werden kann, muss zuvor einmalig als Administrator bzw. mit erhöhten Rechten folgender PowerShell-Befehl ausgeführt werden:

Set-ExecutionPolicy bypass

Um den Vorgang zu starten reicht das Ausführen der *.cmd-Datei aus. Diese kann der Einfachheit halber entsprechend verknüpft werden.

Quelle

superuser – How can I print Excel spreadsheet files automatically?