{title}

Ich versuche eine Batch-Datei zu erstellen, um eine Word-Vorlagendatei (.dotm) zu öffnen und eine Makrodatei in dieser Vorlage auszuführen. Datei: D: Accounts sales.docMacros & template gespeichert in C: Users \% username% AppDataoaming Microsoft Word STARTUP salesmacros.dotmBatch-Dateiskript: @echo off start /B"Word""D:Accountssales.doc "/ t" C: Benutzer \% Benutzername% AppDataoaming Microsoft Word STARTUP salesmacros.dotm "/m"C:Users\%username%AppDataoamingMicrosoftWordSTARTUPsalesmacros.dotm.Macro_sales" Das Skript funktioniert nicht. Irgendeine Hilfe??

Welchen Leitfaden haben Sie verwendet, um das Skript zu zerknittern? //support.microsoft.com/de-de/help/210565/how-to-use-startup-command-line-switches-to-start-word-2010 ,-word-2007 ,-word-2003 ,-word -2002, -and-word-2000 Beachten Sie, dass sich verschiedene Versionen von Word in verschiedenen Verzeichnissen befinden. Aber warum stapeln? Nur um zu sehen, ob du es schaffst? OK, das ist ein guter Grund. Nicht das Beste an Word ist ein Windows-Programm, kein DOS-Programm. Windows-Verknüpfungen bieten eine einfache Möglichkeit, Word mit automatischen Starteinstellungen zu starten. Außerdem können Sie Skripts nur schwer lesen. Können Sie uns sagen, was es tun soll?

Sie können keine Befehlszeilenargumente übergeben, wenn Sie ein Programm starten, indem Sie ein zugeordnetes Dokument über den Befehl start ausführen. Stattdessen müssen Sie WINWORD.EXE direkt mit den Argumenten und der Zieldatei starten, die Sie öffnen möchten.

ddjedidd, bist du noch da Haben Sie eine Lösung gefunden? Wenn an der Eingabeaufforderung der Befehl "START" möglicherweise nicht der richtige Weg ist, um ein Programm zu starten, das unter Windows ausgeführt wird. "START" verfügt über einen eigenen Satz von Befehlszeilenoptionen, die sich von denen unterscheiden winword.exe, das Microsoft Word-Programm. Beispiel: Im aktuellen Verzeichnis befindet sich eine Datei 'test.doc'. Hier ist eine Batch-Datei, um Word zu starten und diese Datei zu öffnen und andere Dinge zu ignorieren. Code:

REM-Aufruf eines MS-Word-Programms mit test.doc "C: Programme Microsoft Office Office10 WINWORD.EXE"/a test.doc Ist das fast das, was Sie wollen?

Ich bin immer noch da. Das ist nicht ganz das, wonach ich suche. Es ist beabsichtigt, dass ein Makro in einer globalen Vorlage automatisch ausgeführt wird. Ich möchte nicht, dass dies jedes Mal passiert, wenn ein Benutzer Word öffnet. Daher dachte ich, ein Batch-Skript, das das Makro aufruft, wäre eine Idee. Ich habe mit einem Autorun-Makro gespielt, kann es jedoch nicht dazu bringen, das Makro aufzurufen das globale Vorlagenmodul. Ich habe noch nicht aufgegeben.

Bitte machen Sie nähere Angaben zu Ihrer Geschäftstätigkeit. Allgemein gesagt. Ist dies ein Ort, an dem fünf Personen an zwei Computern arbeiten und wöchentlich einen Bericht erstellen müssen? Sind alle Computer im selben Netzwerk? Wird die Arbeit täglich, wöchentlich oder monatlich erledigt? Welche Art von Fehlern würden wahrscheinlich auftreten? Können andere Personen ausführen? der Stapel?

Stapelanforderungen scheinen immer hässlich zu sein. Beschreiben Sie vollständig, welches Ziel diese Aufgabe verfolgt und welche Ergebnisse Sie erwarten.

Okay. Ich arbeite mit mehreren Benutzern zusammen, die sich ein Netzwerk teilen. Ich habe ein globales Makroeinbettungs-Template (DOTM-Datei) entwickelt, das auf jedem Computer gespeichert ist. Befindet sich in: C: Benutzer \% Benutzername% AppDataoaming Microsoft Word STARTUP salesmacros.dotmMy Absicht: Der Benutzer klickt auf eine Schaltfläche (oder einen Link) im freigegebenen Netzwerk, die: 1. Öffnen Sie Word2. Finden Sie ihre Vorlage (auf ihrem C: -Laufwerk wie oben angegeben). 3. Führen Sie automatisch das Makro der obersten Ebene aus (genannt "Macro_sales"). Ich dachte, eine saubere Methode, um diese drei Schritte in einem Schritt auszuführen, wäre eine Batch-Datei. Genau wie bei "Zu Ihrer Information": Das Makro "Macro_sales" fordert den Benutzer auf, eine Reihe von Fragen (IF und IFELSE VBA) zu stellen, eine bestimmte Berichtsvorlage (basierend auf den Antworten des Benutzers) zu erstellen, einen Netzwerkordner zu erstellen und das ausgefüllte Formular sowie eine.doc zu speichern Datei. Nochmals vielen Dank für jede Hilfe

OKAY. Das hilft. Sie haben also eine Reihe von Benutzern und es kann Abweichungen bei der Einrichtung der einzelnen Workstations geben. Ja, dies kann von DOS aus erfolgen, aber DOS hat keine Möglichkeit, eine Reihe von Befehlen für ein Programm zu syndizieren. Alle Optionen müssen sich in einer Zeile befinden. Anders ausgedrückt, es handelt sich um eine Sache mit einer Zeile. Hier finden Sie allgemeine Informationen zu Befehlszeilenoptionen in Word 2010 und höher. //support.microsoft.com/de-de/help/210565/how-to-use-startup-command-line-switches-to-start-word-2010 ,-word-2007 ,-word-2003 ,-word -2002, -and-word-2000 MS schlägt vor, einen Link (Verknüpfung) anstelle eines Stapels zu verwenden. (Sie können aber einen Link stapeln.) Lesen Sie weiter Liste der Word-Startoptionen Ich denke, es heißt, dass Sie eine Datei öffnen, eine Vorlage festlegen und ein Makro auf einer Befehlszeile automatisch ausführen können. Ich werde etwas ausprobieren, nachdem ich etwas mehr darüber nachgedacht habe. In der Zwischenzeit könnte ein schneller Verstand einspringen.

OKAY. Ein einfaches Experiment. Jetzt kann ich eine BAT-Datei erstellen, ein Dokument öffnen und ein Makro ausführen, das keine Befehlszeile enthält. Ich lege das Dokument ein D: BERICHT um den langen Pfadnamen zu reduzieren. Hier ist, was als Batch-Datei funktioniert: Code:

"C: Programme Microsoft Office Office10 WINWORD.EXE" D: EPORTeport.doc/mmacro1 Das Makro wird automatisch gestartet und fügt Text ein und stoppt dann. Ich habe es nicht satt, eine Vorlage zu verwenden .

Hallo, dies ist ein Startstapel zum Erstellen einer Winword-Verknüpfung mit Argumenten auf dem Desktop: Probieren Sie es aus und ändern Sie sie nach Bedarf. Code:

@echo offTitle Erstellen einer Winword-Verknüpfung mit Argumenten im desktopMode con cols = 70 lines = 5 & color 9EREM Bestimmen Sie, ob das Betriebssystem (32/64 Bit) den richtigen Pfad für Program files.IF/I "% PROCESSOR_ARCHITECTURE%" festlegt. == "x86" (Setze "strProgramFiles =% ProgramFiles%") else (Setze "strProgramFiles =% programfiles (x86)%") setze Key = "HKEY_CLASSES_ROOT Word.Application CurVer" For/f "tokens = 4 delims = "%% a in ('reg Query% Key%/ve ^ | findstr/R" ") do (für/f" tokens = 3 delims =. "%% b in (' echo %% a ') do ( Set "Ver = %% b")) Rem Der Verknüpfungsname mit der Erweiterung .lnk. Set "MyShortcutName =% userprofile% desktop \% ~ n0.lnk" set "TargetPath =% strProgramFiles% Microsoft Office Office% ver% Winword.EXE "Rem Hier setzen wir die Argumente des Befehls lineSet" Arguments =/q/a "Wenn nicht vorhanden"% MyShortcutName% "(Aufruf: CreateShortcut) else (Goto Main) Exit ::: CreateShortcutecho (echo Erstellen der Verknüpfung auf dem Desktop wird gearbeitet.::Powershell ^ $ s = (New-Object -COM WScript.Shell) .CreateShortcut ('% MyShortcutName%'); ^ $ s.TargetPath = '"% T argetPath% "'; ^ $ s.Arguments = '% Arguments%'; ^ $ am Save () Exit/b ::: Mainecho Hellopause

Mit Findstr/X kann keine genaue Übereinstimmung festgestellt werden.

Beim Benutzen:
Code:
echo X >> file.txtfindstr/x "X"% CD% file.txt Das Echo fügt nach dem "X" ein Leerzeichen und ein Zeilenumbruchzeichen ein. Wenn ich also versuche, eine genaue Übereinstimmung zu finden, wird sie nicht gefunden. Gibt es eine Möglichkeit, entweder: a) beim Echo kein Leerzeichen und kein Zeilenumbruchzeichen einzufügen b) beim Verwenden von findstr/xcheers FB ein Leerzeichen und ein Zeilenumbruchzeichen einzufügen

Funktioniert gut für mich: Woher weißt du das? Ich vermute, es fügt Wagenrücklauf- und Zeilenvorschubzeichen ein. Welche Version der Eingabeaufforderung verwenden Sie?

OK, nachdem ich Schritt für Schritt versucht habe, logisch durchzugehen, kann ich nicht sehen, was los ist. Vielleicht liegt es daran, dass mehr als eine Zeichenfolge in der Datei enthalten ist. Mein eigentlicher Code sieht folgendermaßen aus:
Code:
findstr/x/i% comm%% CD% users current software.dat> num.dat wobei% comm% eine benutzerdefinierte Variable ist und die Dateisoftware enthält: "Hilfeliste Telnet Account Bbs Cracker" wenn ich eine schreibe Test-Skript, um herauszufinden, was falsch ist es manchmal funktioniert und manchmal nicht ich vermute, dass Sie Recht haben, es ist wahrscheinlich ein Wagenrücklauf und Zeilenvorschub und ich weiß nicht, welche Version, ich benutze Vista, also denke ich, die neueste?

Ich vermute, dass die Zeilen, für die es nicht funktioniert, die erste und die letzte Zeile sind. Sie haben nur ein Wort pro Zeile. Warum sogar die Option/x verwenden? Die Option/i unterscheidet nicht zwischen Groß- und Kleinschreibung, was ohnehin keine exakte Übereinstimmung ist.
Code:
@echo offset comm = helpfindstr/i "% comm%"% CD% users current software.dat> num.dat

Beliebte Beiträge