Makros sind eine wunderbare Möglichkeit, die Funktionalität eines Programms wie Excel zu erweitern. Möglicherweise möchten Sie diese Funktionalität jedoch noch weiter erweitern, indem Sie eine DOS-Batchdatei über Ihr Makro ausführen. In Excel können Sie dies mit dem Befehl Shell tun. Die allgemeine Syntax für den Befehl lautet wie folgt:

dRetVal = Shell("myfile.bat", mode)

Innerhalb der Anführungszeichen können Sie den vollständigen Pfadnamen und den Dateinamen der Datei platzieren, die Sie ausführen möchten. Auf einigen Systemen können Probleme auftreten, wenn Sie einen Pfadnamen mit der Dateispezifikation verwenden. (Dies scheint den hässlichen Kopf zu beschneiden, wenn Sie komplexe Pfadnamen haben oder wenn der Pfadname Leerzeichen enthält.) Wenn Sie dieses Problem haben, verwenden Sie einfach den Befehl ChDir direkt vor Shell, um das von Excel verwendete Verzeichnis zu ändern. Sie können Shell dann nur mit einem Dateinamen ausführen.

Die Modusanzeige teilt Excel einfach mit, wie das Fenster geöffnet werden soll, damit die Datei angezeigt wird. Die Modusanzeige kann eine der folgenden sein:

Value

Variable Nam

Meaning

0

vbHide

Window is hidden and has focus.

1

vbNormalFocus

Window is the normal size and has focus.

2

vbMinimizedFocus

Window is minimized and has focus.

3

vbMaximizedFocus

Window is maximized and has focus.

4

vbNormalNoFocus

Window is normal size, but doesn’t have

focus.

6

vbMinimizedNoFocus

Window is minimized, but doesn’t have

focus.

Der Shell-Befehl gibt einen Wert zurück, der die Programm-ID der von Ihnen ausgeführten Datei angibt, oder eine Null. Wenn eine Null zurückgegeben wird, ist beim Ausführen der Datei ein Fehler aufgetreten.

Sie sollten sich daran erinnern, dass bei Verwendung von Shell die Zieldatei sofort und unabhängig von Excel ausgeführt wird. Dies bedeutet, dass der nächste Makrobefehl in Ihrem Excel-Makro sofort ausgeführt wird, ohne auf den Abschluss der Shell-Zieldatei zu warten. An diesem Verhalten führt leider kein Weg vorbei.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2506) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: