Allgemeines über Excel-Startparameter
Übersicht der Excel-Startparameter
Unterschiede bei den
verschiedenen Excel-Versionen
Startparameter
'/i'
Startparameter
'/s'
Startparameter
'/e'
Inoffizielle, nicht dokumentierte Startparameter
Excel im Vollbildmodus starten
Eigene Excel-Startparameter definieren
Alternativen zu eigenen Excel-Startparametern
Allgemeines über Excel-Startparameter
Micorosoft Excel stellt mehrere Schalter zur Verfügung, die in der Befehlszeile angegeben werden können und den Programmstart steuern. Diese Schalter werden als so genannte Startparameter bezeichnet. Manchmal wird auch Befehlszeilen-Parameter, Startschalter oder englisch Startup Switches verwendet, wobei in Bezug auf Microsoft Excel der Begriff Startparameter üblich ist.
Auf dieser Seite werden sämtliche Startparameter von Excel 97, Excel 2000, Excel 2002/XP und Excel 2003 vorgestellt und ausführlich erklärt. Sie erfahren hier alles über Einsatzgebiete, Auswirkungen, Probleme und Gefahren von offiziellen, inoffiziellen und selbstdefinierten Startparametern.
Weitere Informationen |
|
|
Übersicht der Excel-Startparameter
Übersicht der Parameter
TODO: Alle Parameter auflisten.
TODO: Beschreiben, wie die neue leere Mappe aussieht (Vorlage Mappe.xlt im XlStart-Ordner).
TODO: Beschreiben, dass das Arbeitsverzeichnis im Eigenschaften-Dialog von Excel.exe keine Auswirkung besitzt.
TODO: Kombinieren von Startparametern beschreiben.
Beschreibung der Parameter
Die nachfolgende Tabelle zeigt alle offiziellen Startparameter von Microsoft Excel der gängigen Programmversionen 97, 2000, 2002 und 2003 (es gibt auch inoffizielle Startparameter, siehe Kapitel Inoffizielle, nicht dokumentierte Startparameter). Wie man eigene Startparameter definieren kann, erfahren Sie in Kapitel Eigene Excel-Startparameter definieren.
Hinweis
- Die Parameter sind nicht "case sensitive", d.h. sie können in
Gross- und/oder Kleinbuchstaben eingegeben werden.
- Anstelle des Schrägstriches '/' kann auch der Bindestrich '-' verwendet werden.
- Wenn mehrere Parameter gleichzeitig verwendet werden, muss zwischen den einzelnen
Parametern immer ein Leerzeichen eingegeben werden.
| Parameter | Zweck | Excel-Version | Beispiel |
| (ohne) | Startet Excel im normalen
Modus. Wenn Sie Microsoft Excel ohne jeglichen Parameter ausführen, wird die Anwendung im normalen Modus gestartet, wobei das Startfenster eingeblendet und eine neue, leere Arbeitsmappe angelegt wird. Es wird der Standardarbeitsordner verwendet, der in der Windows Registry im Eintrag "DefaultPath" festgelegt ist. Der Standardarbeitsordner kann im Optionen-Dialog, Registerseite "Allgemein", oder mit VBA anhand Application.DefaultFilePath abgefragt bzw. gesetzt werden. Nach dem Programmstart ist das aktuelle Verzeichnis identisch mit dem Standardarbeitsordner. Das aktuelle Verzeichnis kann mit VBA anhand CurDir ermittelt bzw. mit ChDir gewechselt werden. |
97/2000/2002/2003 | - |
| <Pfadname/Dateiname> | Startet Excel und öffnet
die angegebene Arbeitsmappe. Wenn im Datei- oder Pfadname ein oder mehrere Leerzeichen vorkommen, muss der gesamte Ausdruck in Anführungszeichen ("") angegeben werden. Als Alternative ohne Anführungszeichen kann die Datei in der kurzen MS DOS-Schreibweise angegeben werden. Beispiel: Man kann auch mehrere Dateien in der Befehlszeile angeben, wobei die einzelnen Dateinamen jeweils durch ein einzelnes Leerzeichen getrennt werden müssen. Wenn eine der angegebenen Dateien ein Leerzeichen im Pfad- oder Dateiname enthält, so muss nur diese Datei in Anführungszeichen geschrieben werden. Beispiel mit drei Dateien: Achtung Richtig: Problematisch wird es, wenn die zu öffnende Datei auf dem Laufwerk D: liegt und vor dem Pfad-/Dateiname ein Schrägstrich (/) angegeben wird, beispielsweise "/D:\Daten\Test.xls". Hier interpretiert Excel den Text als Parameter '/d' (es wird nur der erste Buchstabe berücksichtigt), der zwar offiziell nicht existiert, aber trotzdem eine Auswirkung hat. Nach dem vollständigen Aufstarten von Excel ist die Anwendung gesperrt. Excel wird normal ausgeführt und man kann die Anwendung auch in der Taskliste deaktivieren und aktivieren. Es ist jedoch nicht möglich, das Anwendungsfenster, eine Symbolleiste, eine Zelle oder irgend ein anderes Element anzuklicken, und auch die Sanduhr wird permanent angezeigt. Dieses Verhalten tritt nur beim Buchstabe "d" auf. Bei anderen Buchstaben, die ebenfalls nicht für einen Parameter stehen, beispielsweise "b", "c" oder "v", startet Excel normal. Lesen Sie mehr zu diesem Thema unter Inoffizielle, nicht dokumentierte Startparameter. |
97/2000/2002/2003 | C:\Daten\Test.xls |
| /e (/embedded) | Startet Excel ohne
Einblenden des Startfensters und ohne eine neue, leere Arbeitsmappe anzulegen. Beachten Sie bitte, dass nur mit '/e' Excel ohne Startfenster und ohne neue Mappe gestartet wird. Wenn Sie den Parameter '/embedded' verwenden, passiert zwar das Gleiche, aber ohne dass das Anwendungsfenster angezeigt wird. Excel wird in diesem Fall als Prozess und nicht als Anwendung (Task) gestartet. Der Parameter '/embedded' besitzt somit keine praktische Verwendung. Hinweis Anmerkung des Autors |
97/2000/2002/2003 | /e |
| /automation | Startet Excel im
sogenannten Automationsmodus. In
diesem Modus werden keine In diesem Modus wird jedoch die xlb-Datei mit den benutzerdefinierten Symbolleisten, Schaltflächen und Menübefehlen geladen. Auch eine neue, leere Arbeitsmappe wird geöffnet. Hinweis Beachten Sie auch, dass im Add-In-Manager die von Ihnen verwendeten Add-Ins wie im normalen Modus als 'geladen' angezeigt werden (CheckBox ist aktiviert), obwohl keine Add-Ins geladen sind. Der Parametername kann nicht abgekürzt werden. Wenn man anstelle von '/automation' lediglich '/a' schreibt, startet Excel ganz normal (wie wenn kein Parameter verwendet würde). Schreibt man beispielsweise '/auto', so startet Excel normal, wobei eine Fehlermeldung eingeblendet wird, dass die Datei "u.xls" nicht gefunden werden konnte. Achtung Weitere Informationen siehe hier: |
97/2000/2002/2003 | /automation |
| /m | Startet Excel mit einer neuen Arbeitsmappe, die ein einzelnes Makroblatt enthält. | 97/2000/2002/2003 | /m |
| /i | Startet Excel mit
maximiertem Anwendungsfenster (Vollbild). Wichtig Beachten Sie auch, dass im Add-In-Manager nur die Standard Add-Ins aufgelistet werden und keines davon aktiviert ist. Wenn Sie Excel mit dem Parameter '/i' starten und dann im Add-In-Manager ein Add-In aktivieren, so geht diese Einstellung beim Beenden verloren. Beim nächsten Start ist das Add-In somit nicht mehr aktiviert. Achtung Excel berücksichtigt zudem nur das erste Zeichen des Parameters. Wenn Sie also zum Beispiel '/init', '/irgendwas' oder '/I:\Daten\Testmappe.xls' anstelle von '/i' angeben, wird dies immer als '/i' betrachtet. Der Parameter ist insofern äusserst gefährlich, da beispielsweise bei '/I:\Daten\Testmappe.xls' nicht - wie man meinen könnte - die angegebene Arbeitsmappe vom Laufwerk I: geöffnet wird. Dies, weil vor dem Laufwerkbuchstabe 'I' ein Schrägstrich (/) steht. Das Gefährliche daran ist, dass in diesem Fall bei irrtümlicher Verwendung des Schrägstriches die xlb-Datei gelöscht wird (siehe vorangegangener Abschnitt). Hinweis Ich nehme an, dass der Parameter-Buchstabe "i" für "Init" bzw. "Initialize" steht. Die Auswirkungen des Parameters entsprechen auf jeden Fall denen einer Initialisierung. In Excel ab Version 2000 steht kein Parameter mit vergleichbarer Funktionalität zur Verfügung. |
97 | /i |
| /o | Startet Excel und erstellt
die Registry-Einträge neu. Insbesondere
der Schlüssel |
97/2000/2002/2003 | /o |
| /p <Ordner> | Startet Excel und legt den
aktuellen Arbeitsordner fest. Der dem Startparameter '/p' mitgegebene Ordner wird anstelle des Standardarbeitsordners verwendet. Der Standardarbeitsordner wird im Dialogfeld Optionen (Menü Extras) auf der Registerkarte Allgemein im Eingabefeld Standardarbeitsordner festgelegt. Wenn der angegebene Ordner nicht existiert, wird automatisch der ursprüngliche Standardarbeitsordner von Microsoft Excel verwendet. Wenn der Benutzer für den angegebenen Ordner nur ungenügende Zugriffsberechtigungen besitzt, d.h. "Kein Zugriff" oder nur "Lesen", wird ebenfalls automatisch der Standardarbeitsordner verwendet. Wenn jedoch der Ordner schreibgeschützt oder versteckt ist (Ordner-Attribute "Schreibgeschützt" bzw. "Versteckt"), so wird er trotzdem als aktuellen Arbeitsordner festgelegt. Wenn der Ordnerpfad ein oder mehrere Leerzeichen enthält, muss der gesamte Ordnername in Hochkommas angegeben werden. Als Alternative ohne Hochkommas kann der Ordnerpfad in der MS DOS-Schreibweise angegeben werden (z.B. C:\Progra~1\Micros~1\Vorlagen). |
97/2000/2002/2003 | /p C:\NeueDaten |
| /r <Pfadname/Dateiname> | Startet Excel und öffnet die angegebene Datei schreibgeschützt ('r' steht für readonly). Der schreibgeschützte Dateimodus wird in der Titelleiste des Arbeitsmappenfensters mit dem Hinweis "[Schreibgeschützt]" angegeben. | 97/2000/2002/2003 | /r C:\Daten\Test.xls |
| /s, /safemode, /safe | Startet Excel im
abgesicherten Modus (Safe Mode). Der abgesicherte Modus ist im Fenstertitel des Excel-Anwendungsfensters am Hinweis "Abgesicherter Modus" zu erkennen (im englischen Excel steht "Safe Mode"). Der abgesicherte Modus startet Excel wie wenn Excel unmittelbar nach der Installation zum ersten Mal aufgestartet wird. Im abgesicherten Modus wird folgendes ignoriert: Beachten Sie, dass im Optionen-Dialogfenster die Default-Einstellungen angezeigt werden, und nicht die von Ihnen üblich benutzen Einstellungen. Hinweis |
97/2000/2002/2003: /s 2002: /safemode 2002: /safe |
/s |
| /regserver | Startet Excel und
registriert die Anwendung neu. Excel wird nach der Neuregistrierung automatisch beendet. Verwenden Sie diesen Parameter, wenn Sie möchten, dass Microsoft Excel alle Registry-Schlüssel neu generiert und die Dateizuordnungen zu Exceldateien wie Arbeitsmappen (xls), Vorlagen (xlt) usw. neu erstellt. |
97/2000/2002/2003 | /regserver |
| /unregserver | Startet Excel und löscht
die Registrierung der Anwendung. Excel wird danach automatisch beendet. Anmerkung des Autors |
97/2000/2002/2003 | /unregserver |
Unterschiede bei den verschiedenen Excel-Versionen
Die gängigen Excel-Versionen Excel 97, Excel 2000, Excel 2002/XP und Excel 2003 besitzen die gleichen Startparameter. Es gibt nur gerade drei kleinere Unterschiede bei bestehenden Parameter. Betroffen sind die Parameter '/i', '/s' und '/e'.
In Microsoft Excel 97 gibt es den Parameter '/i' zum maximieren des Anwendungsfensters zum Vollbild, der in den neueren Versionen Excel 2000, 2002/XP und 2003 nicht mehr existiert. Genauer gesagt existiert der Parameter schon noch, nur besitzt er keine Wirkung mehr, da er Excel-intern deaktiviert wurde. Das bedeutet, dass beim Start von Excel 2000, Excel 2002/XP und Excel 2003 bei Verwendung des Parameters '/i' das Anwendungsfenster nicht mehr zum Vollbild maximiert wird, aber auch keine Fehlermeldung auftritt, da wie erwähnt der Parameter zwar erkannt aber nicht mehr verarbeitet wird. Der Vorteil ist, dass der Parameter '/i' verwendet werden kann, auch wenn Sie nicht wissen, welche Excelversion auf dem Rechner installiert ist.
| Bitte beachten Sie unbedingt, dass der Startparameter '/i' nicht nur das Anwendungsfenster als Vollbild anzeigt, sondern noch einiges mehr bewirkt. Es ist sogar möglich, dass die Datei, welche die benutzerdefinierten Anpassungen an Symbolleisten enthält (xlb-Datei), ohne Warnung überschrieben wird. Dadurch gehen sämtliche Symbolleisten-Änderungen unwiderruflich verloren. Mehr dazu siehe unter Parameter '/i'. |
Weitere Informationen finden Sie unter Parameter '/i'.
Geringfügig geändert wurde der Startparameter zur Aktivierung des abgesicherten Modus (Safe Mode). Neben dem bekannten Parameter '/s' stehen neu auch die beiden Parameter '/safe' und '/safemode' zur Verfügung, die den gleichen Zweck wie '/s' besitzen.
Übrigens besitzt Microsoft Excel ab Version 2002 nebst dem Safe Mode einen weiteren Ausführungsmodus; den so genannten "Minimal-Load Mode". Bei diesem Modus lädt Excel nur das absolute Minimum an Programmteilen in den Speicher, die zur Ausführung der Anwendung zwingend benötigt wird. Für die Aktivierung des Minimal-Load Mode existiert meines Wissens kein Startparameter; wobei es irgend etwas in der Art geben muss, da der Modus sonst ja nicht aktiviert werden könnte. Dieser Modus wird von Excel verwendet, falls der Programmstart im abgesicherten Modus nicht ordnungsgemäss durchgeführt werden konnte. Das bedeutet, dass bei nicht erfolgreichem Start im Safe Mode sich Excel automatisch beendet und erneut - diesmal im Minimal-Load Mode - startet.
Weitere Informationen finden Sie unter Parameter '/s'.
Der Parameter '/e' verhält sich bei Microsoft Excel 97 in einer bestimmten Situation anders als bei den neueren Versionen Excel 2000, Excel 2002/XP und Excel 2003. Wenn unmittelbar nach dem Parameter ein beliebiges Zeichen angegeben wird, beispielsweise ein weiterer Schrägstrich "/e/" oder irgend ein Buchstabe, dann wird Microsoft Excel 97 nicht als Anwendungstask sondern als Prozess gestartet, d.h. das Excel-Anwendungsfenster bleibt nach dem Start verborgen. Bei Microsoft Excel 2000, 2002/XP und 2003 ist dies nicht der Fall. Diese neueren Programmversionen starten Microsoft Excel nur dann als Prozess, wenn der (wenig bekannte) Parameter '/embedded' benutzt wird.
Weitere Informationen finden Sie unter Parameter '/e'.
Inoffizielle, nicht dokumentierte Startparameter
Es existiert ein Startparameter, der weder in einer Excel-Dokumentation noch in der Microsoft Knowledge Base erwähnt ist. Es handelt sich um den Parameter '/d'. Der Zweck dieses Parameters ist mir leider nicht bekannt, dafür aber seine Auswirkungen.
Folgendes Verhalten tritt bei Verwendung des Buchstabens
"d" als Startparameter auf:
- Nach dem vollständigen Aufstarten von Microsoft Excel ist die Anwendung
gesperrt.
- Excel wird normal ausgeführt, und man kann die Anwendung auch in der Taskliste
deaktivieren und aktivieren.
- Es ist jedoch nicht möglich, das Anwendungsfenster, eine Symbolleiste, eine
Zelle oder irgend ein anderes Objekt anzuklicken.
- Der Mauszeiger wird permanent als Sanduhr angezeigt.
In einem älteren Artikel auf www.pcwelt.de wird vermutet, dass das "d" für Demomodus steht.
Diese Buchstaben des Alphabets werden von Excel als gültige Startparameter angesehen:
e, d, i, m, o, p, r und s
Alle anderen, nicht für einen Parameter verwendete einzelne Buchstaben des Alphabets besitzen beim Programmstart keine Auswirkung und werden, wenn in der Befehlszeile angegeben, von Excel einfach ignoriert. Es erscheint auch keine Fehlermeldung. Es handelt sich um diese Buchstaben:
a, b, c, f, g, h, j, k, l, n, q, t, u, v, w, x, y und z
Anmerkung des Autors
Es ist durchaus möglich, dass es weitere undokumentierte Startparameter gibt, da
ein Parametername auch zwei und mehr Buchstaben lang sein kann, wie es bei '/automation'
und '/regserver' der Fall ist. Ich selbst habe nur Parameter mit einer Länge von einem
Buchstaben ausprobiert.
Excel im Vollbildmodus starten
Microsoft
Excel 97
Microsoft Excel 97 konnte man anhand des Parameters '/i' im Vollbildmodus starten.
Dadurch wurde das Anwendungsfenster zum Vollbild vergrössert. Der Einsatz dieses
Parameters ist zwar nicht zu empfehlen, da er viele Nebenwirkungen besitzt (siehe Kapitel Übersicht der Excel-Startparameter und Unterschiede bei den
verschiedenen Excel-Versionen). Dennoch führte er zum gewünschten Ergebnis, nämlich
zu einem maximierten Anwendungsfenster.
Microsoft
Excel 2000, 2002 und 2003
Seit Excel 2000 gibt es den Parameter '/i' nicht mehr, und es gibt auch keinen
anderen Parameter, mit dem man Excel im Vollbildmodus starten kann. Die Frage lautet
daher: Welche andere Möglichkeiten gibt es? Nun, es existieren zwei Möglichkeiten:
1. Sie verwenden eine Datei-Verknüpfung
2. Sie ändern einen Eintrag in der Windows Registry
Nachfolgend werden die beiden Möglichkeiten kurz vorgestellt.
Datei-Verknüpfung verwenden
Anhand einer Datei-Verknüpfung (lnk-Datei) lässt sich Microsoft Excel sehr einfach im Vollbildmodus ausführen. Legen Sie dazu eine Verknüpfung zur Programmdatei Excel.exe an und stellen Sie die Eigenschaft "Ausführen" auf "Maximiert" (siehe Abbildung).

Abbildung: Datei-Verknüpfung mit Excel
Registry-Eintrag von Excel ändern
Durch vorgängiges Ändern eines bestimmten Eintrages in der Windows Registry können Sie das Anwendungsfenster von Microsoft Excel im Vollbildmodus öffnen. Der Registry-Eintrag heisst "Maximized" und steuert den Fenstermodus.
| Zweig: | HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Excel\Options * |
| Eintrag: | Maximized (Typ "DWORD") |
| Wert: | Öffnet das Anwendungsfenster im normalen Fenstermodus und das Arbeitsmappenfenster im Vollbildmodus |
* x steht für die Excel-Versionsnummer 8, 9, 10 oder 11.
Stellen Sie den Eintrag auf den Wert 3, damit beim Start sowohl das Anwendungsfenster als auch die neue, leere Arbeitsmappe im Vollbildmodus geöffnet wird. Nebst dem Wert 3 gibt es andere erlaubte Werte. Hier die Übersicht:
| Wert | Beschreibung |
| 0 | Öffnet das Anwendungsfenster und das Arbeitsmappenfenster im normalen Fenstermodus |
| 1 | Öffnet das Anwendungsfenster im Vollbildmodus und das Arbeitsmappenfenster im normalen Fenstermodus |
| 2 | Öffnet das Anwendungsfenster im normalen Fenstermodus und das Arbeitsmappenfenster im Vollbildmodus |
| 3 | Öffnet das Anwendungsfenster und das Arbeitsmappenfenster im Vollbildmodus |
Wie Sie den Registry-Eintrag anhand eines Programms oder Skripts automatisiert ändern konnen, erfahren Sie hier:
Weitere Informationen |
|
|
Eigene Excel-Startparameter definieren
Gelegentlich wird in Excel Newsgoups und Diskussionsforen die Frage gestellt, ob man der Anwendung Microsoft Excel auch eigene Parameter übergeben kann. In der Regel soll dadurch erreicht werden, dass der Programmablauf in einem Auto_Open-Makro gesteuert wird.
Standardmässig kennt Excel nur seine vordefinierten Startparameter (siehe Kapitel Übersicht der Excel-Startparameter). Es existiert jedoch eine Möglichkeit, beliebige andere Parameter zu definieren. Dazu wird ein bisschen VBA-Code benötigt, der beim Öffnen einer Arbeitsmappe die zum Excelstart verwendete Befehlszeile abfragt. Microsoft Excel besitzt mehrere Schalter und Parameter, anhand denen man die Programmausführung steuern kann. Wenn man beispielsweise in der Befehlszeile nach dem Namen der Programmdatei Excel.exe eine Arbeitsmappendatei angibt, so wird diese Datei beim Programmstart geöffnet. Mit dem Startparameter "/e" dagegen kann man erreichen, dass das Startfenster nicht eingeblendet und keine neue, leere Mappe angelegt wird.
Wenn man eigene Startparameter definieren möchte, so kann man dazu den Startparameter "/e" gewissermassen 'missbrauchen'. Es ist übrigens der einzige Parameter, bei dem Microsoft Excel zulässt, dass nach dem Parametername (d.h. nach dem Buchstabe "e") weitere Zeichen folgen. Bei allen anderen Startparametern ist die Angabe von weiteren Zeichen nicht möglich, da diese entweder ignoriert werden oder zu einer Fehlermeldung beim Excelstart führen.

Abbildung: Ausführen-Dialog von Windows
Die zum Starten eines Windows-Programmes benutzte Befehlszeile kann anhand der Windows API-Funktion GetCommandLine ausgelesen werden. Bei Microsoft Excel funktioniert dies ebenfalls. Da eine Arbeitsmappe bekanntlich ein VBA-Projekt besitzen und somit VBA-Programmcode aufnehmen kann, braucht man nur VBA-Code zu schreiben, mit dem die Befehlszeile ausgelesen wird. Die Abfrage der Befehlszeile erfolgt vorzugsweise in der Workbook_Open-Ereignisprozedur einer Arbeitsmappe, damit beim Öffnen der Arbeitsmappe auf allfällig mitgegebene Parameter reagiert werden kann.
| Beachten Sie unbedingt, dass bei der Verwendung eines selbst definierten Parameters immer eine gültige, existierende Exceldatei mitgegeben werden muss. Anderenfalls kann es passieren, vor allem in Microsoft Excel 97, dass die Anwendung zwar gestartet wird, aber das Anwendungsfenster von Excel nicht sichtbar wird. Für einen Benutzer ist dies nur schwer erkennbar, weil Excel in diesem Fall als Prozess und nicht als Anwendungs-Task ausgeführt wird. |
Nachfolgend wird der dazu benötigte VBA-Programmcode vorgestellt. Die Funktion StringFromPointer ist eine Hilfsfunktion und wird verwendet, um den auf die Befehlszeile zeigenden Pointer in eine Zeichenfolge umzuwandeln.
VBA-Programmcode
Fügen Sie den gesamten nachstehenden VBA-Code in das Modul "DieseArbeitsmappe" einer Arbeitsmappe ein und speichern Sie die Mappe.
'Deklarationsbereich
von Modul 'DieseArbeitsmappe'
Private Declare Function GetCommandLine& Lib
"kernel32" Alias "GetCommandLineA" ()
Private Declare Function lstrlen Lib "kernel32" (ByVal str As Long) As Long
Private Declare Function lstrcpy Lib "kernel32" (ByVal dest As String, ByVal src
As Long) As Long
'Modul 'DieseArbeitsmappe'
Private Sub Workbook_Open()
Dim strCommandLine As String
Dim intPosition As Integer
'Befehlszeile auslesen
strCommandLine = StringFromPointer(GetCommandLine())
'Prüfen, ob "/e/" in der
Befehlszeile enthalten ist
intPosition = InStr(LCase(strCommandLine),
"/e/")
If intPosition > 0 Then
'"/e/" wurde
gefunden, daher Text nach "/e/" ausgeben
strCommandLine = Mid$(strCommandLine,
intPosition + 3)
MsgBox "Es wurde die Zeichenfolge '" & strCommandLine
& "' übergeben."
Else
'"/e/" wurde
nicht gefunden
MsgBox "Es wurde keine
Zeichenfolge übergeben."
End If
End Sub
'Modul 'DieseArbeitsmappe'
Private Function StringFromPointer(plngString As Long) As
String
Dim strResult As String
Dim lngNumber As Long
lngNumber = lstrlen(plngString)
strResult = String(lngNumber, 0)
lstrcpy strResult, plngString
If InStr(strResult, Chr(0)) <> 0 Then
strResult = Left$(strResult, InStr(strResult, Chr(0)) - 1)
End If
StringFromPointer = strResult
End Function
VBA-Programmcode aufrufen
Der Programmcode wird aufgerufen, indem Sie Microsoft Excel mit der Befehlszeilensyntax
<Programmdatei> <Arbeitsmappendatei> /e/<Zeichenfolge>
ausführen. Ein Beispiel einer Befehlszeile:
"C:\Programme\Microsoft Office\Excel.exe" "C:\Daten\EineMappe.xls" /e/Info
Der Ausführen-Dialog von Windows sieht somit so aus:

Abbildung: Ausführen-Dialog von Windows
VBA-Programmcode anpassen
Anstelle der im obigen Programmcode verwendeten Anweisung
MsgBox "Es wurde die Zeichenfolge '" & strCommandLine & "' übergeben."
können Sie die Zeichenfolge auswerten und entsprechend ihrem Inhalt unterschiedlich reagieren. Zum Beispiel können Sie bei Angabe von "Info" eine Info-Fenster einblenden und bei "Open" den Datei öffnen-Dialog anzeigen:
If
strCommandLine = "Info" Then
frmInfo.Show
ElseIf strCommandLine = "Open" Then
Application.Dialogs(xlDialogOpen).Show
End If
Mögliche Probleme
Wenn Sie die übergebene Zeichenfolge dazu benutzen möchten, ein bestimmtes Arbeitsblatt zu aktivieren, so sollten Sie den obigen Programmcode nicht in die Ereignisprozedur Workbook_Open sondern in ein Makro namens Auto_Open einfügen. Vor allem dann, wenn die Möglichkeit besteht, dass die Arbeitsmappe mit Microsoft Excel 97 geöffnet wird (d.h. nicht mit Excel 2000 oder neuer). Excel 97 besitzt nähmlich einen Bug, der verhindert, dass im Workbook_Open-Ereignis ein bestimmtes Arbeitsblatt aktiviert werden kann.
Mehr über dieses Problem erfahren Sie hier:
XL97: Open Event Macro May Not Activate a
Worksheet
http://support.microsoft.com/?scid=kb;en-us;174319
Weitere Informationen über selbst definierte Startparameter und Codebeispiele finden Sie hier:
Weitere Informationen |
|
|
Alternativen zu eigenen Excel-Startparametern
Eigene, dass heisst selbst definierte Startparameter sind eine vorzügliche Lösung, wie man den Excel-Programmstart beziehungsweise das Öffnen einer Arbeitsmappe steuern und bestimmte Aktionen auslösen kann. Es kann aber sein, dass man gar keine Möglichkeit hat, Excel mit einem Startparameter aufzurufen. Zum Beispiel, wenn der Ausführen-Dialog von Windows nicht zur Verfügung steht, weil Sie bzw. der Windows-Benutzer nicht genügend Rechte zum Ausführen von Programmen besitzt.
Es existiert jedoch eine Alternative: Anstatt die Befehlszeile nach Parametern zu untersuchen, kann man anhand von VBA-Programmcode feststellen, ob bzw. welche Tasten beim Excelstart - genauer gesagt beim Öffnen der Arbeitsmappe - gedrückt wurden. Auf diese Weise kann man beispielsweise eine bestimmte Aktion ausführen (z.B. ein Benutzerformular öffnen), falls der Benutzer die Strg-Taste gedrückt hat.
Alles zu diesem Theme finden Sie hier:
Weitere Informationen |
|
|
|
Die folgenden Microsoft Knowledge Base-Artikel beschreiben die Startparameter von Microsoft Excel. Sie enthalten allerdings keine Informationen, die nicht bereits auf dieser Seite vorgestellt sind:
XL97: Startup Switches for Microsoft Excel 97XL2002/XL2003: Startup Switches for Microsoft Excel
http://support.microsoft.com/?kbid=291288
Hier die Startoptionen von Microsoft Word:
WD: Word-Startoptionen (Befehlszeilenoptionen) und
ihre Verwendung
http://support.microsoft.com/?scid=kb;de;210565
WD: How to use startup command line switches to start Word 2003, Word 2002,
and Word 2000
http://support.microsoft.com/?scid=kb;en-us;210565
Interessant sind auch die Befehlszeilenparameter des Windows Explorers:
Befehlszeilenparameter für den Windows Explorer
http://support.microsoft.com/?scid=kb;de;130510
Command-Line Switches for Windows Explorer
http://support.microsoft.com/?scid=kb;en-us;130510
Zuletzt aktualisiert am 25.06.2010
/ 07:00 Uhr
© 2002-2010 by Philipp von Wartburg, Schweiz
Alle Rechte vorbehalten