Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vbs script - Datei in neuer Excel - Instanz öffnen

vbs script - Datei in neuer Excel - Instanz öffnen
31.05.2013 14:37:00
Uli
Hallo Experten,
ich habe im Internet folgenden Code-Schnipsel gefunden, der mir erlaubt, eine Exel-Datei direkt in einer neuen Excel-Instanz zu öffnen, bei CSV-Dateien allerdings Probleme macht:
'==================== Neue Excel-Instanz.vbs ======================
Option Explicit
Call NeueExcelInstanz
Sub NeueExcelInstanz()
With CreateObject("Excel.Application")
.Workbooks.Open WScript.arguments(0)
.Visible = True
End With
End Sub

'===================================================================
Der Code-Schnipsel in eine Textdatei, anschließend in .vbs unbenannt und in den "SendTo" Ornder unter Dokumente und Einstellungen und schon kann per rechter Maustaste und "Senden an" die Datei in einer neuen Excel Instanz geöffnet werden.
Funktioniert zunächst alles wunderbar. Nur bei CSV-Dateien gibt es Probleme.
Hier werden beim Öffnen der Datei die Komma als Trennzeichen betrachtet und so eine Dezimalzahl in unterschiedliche Zellen geschrieben.
Kann mir jemand sagen, wie der Code verändert werden muss, damit die Regionaleinstellung berücksichtigt wird, so dass nur ein Semikolon als Trennung betrachtet wird?
Freue mich auf eure Antworten
Grüße
Uli

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
vbs script - Datei in neuer Excel - Instanz öffnen
31.05.2013 16:07:34
Anton
Hallo Uli,
probier's so:
.Workbooks.Open WScript.arguments(0),,,4

mfg Anton

AW: vbs script - Datei in neuer Excel - Instanz öffnen
31.05.2013 16:54:34
Uli
Hallo Anton,
vielen Dank für deine Antwort.
Das Problem ist damit aber leider noch nicht ganz gelöst. Es sieht aber so aus, als ob das zumindest der richtige Weg ist.
Ich habe mal mit deinem Paramter (4) nach den ganzen Komma gespielt (ohne zu wissen was der bedeutet)
Grundlage ist weiterhin eine Tabelle mit Dezimalzahlen in Spalte A und Spalte B
Setze ich den Parameter auf 0 oder 6 erfolgt ein Fehler
Bei Parameter 5 werden die Dezimalzahlen aus Spalte A komplett auch in Spalte A dargestellt, leider sind die Werte die ursprünglich in Spalte B waren jetzt auch mit einem Semikolon getrennt in Spalte A.
Bei Parameter 1,2,3 und 4 passiert was ganz eigenartiges:
Zahl aus Spalte A wird mit Ziffern vor dem Komma weiterhin in Spalte A dargestellt. Der Rest (Ziffern hinter dem Komma erscheint in Spalte B. Dann folgt ein Semikolon und der erste Teil von der ursprünglichen Spalte B wird angezeigt. In Spalte C erscheint dann der Rest von der Zahl die ursprünglich in Spalte B stand.
Daher würde ich meine Frage noch einmal gerne in die Runde geben.
Gruß
Uli

Anzeige
AW: vbs script - Datei in neuer Excel - Instanz öffnen
31.05.2013 17:03:33
Uli
Hallo Anton,
Problem ist gelöst - siehe Post von Tino.
Vielen Dank und Gruß
Uli

AW: vbs script - Datei in neuer Excel - Instanz öffnen
31.05.2013 16:47:23
Tino
Hallo,
setzte den Parameter Local bei Workbooks.Open auf True oder 1.
.Workbooks.Open WScript.arguments(0),,,,,,,,,,,,,1

Gruß Tino

Anzeige
AW: vbs script - Datei in neuer Excel - Instanz öffnen
31.05.2013 16:57:12
Uli
Hallo Tino,
perfekt, das ist es.
vielen Dank
Gruß
Uli
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei in einer neuen Instanz öffnen mit VBS


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei in einer neuen Instanz zu öffnen, kannst du ein einfaches VBS-Skript verwenden. Folge diesen Schritten:

  1. Erstelle eine neue Textdatei:

    • Öffne einen Texteditor (z.B. Notepad).
  2. Füge den folgenden Code ein:

    Option Explicit
    Call NeueExcelInstanz
    
    Sub NeueExcelInstanz()
       With CreateObject("Excel.Application")
           .Workbooks.Open WScript.arguments(0),,,,,,,,,,,,,1
           .Visible = True
       End With
    End Sub
  3. Speichere die Datei:

    • Speichere die Datei mit der Endung .vbs, z.B. NeueExcelInstanz.vbs.
  4. Verschiebe die VBS-Datei:

    • Lege die .vbs Datei im "SendTo"-Ordner ab, um sie schnell über das Kontextmenü nutzen zu können.
  5. Öffne eine Datei in Excel:

    • Klicke mit der rechten Maustaste auf die gewünschte Excel-Datei und wähle „Senden an“ > „NeueExcelInstanz.vbs“.

Jetzt öffnest du die Datei in einer neuen Excel-Instanz!


Häufige Fehler und Lösungen

  • CSV-Dateien werden falsch geöffnet:

    • Wenn du CSV-Dateien öffnest, kann es sein, dass die Trennzeichen nicht korrekt erkannt werden. Stelle sicher, dass der Parameter Local auf True oder 1 gesetzt ist:
      .Workbooks.Open WScript.arguments(0),,,,,,,,,,,,,1
  • Excel meldet Fehler beim Öffnen:

    • Überprüfe den Pfad der Datei, die du öffnen möchtest. Stelle sicher, dass der Pfad korrekt übergeben wird.

Alternative Methoden

Wenn du keine VBS-Datei verwenden möchtest, kannst du auch PowerShell oder Batch-Skripte nutzen, um eine Excel-Datei in einer neuen Instanz zu öffnen. Ein einfaches Beispiel für PowerShell wäre:

Start-Process "excel.exe" -ArgumentList "C:\Pfad\zu\deiner\Datei.xlsx"

Praktische Beispiele

  • Beispiel für eine VBS-Datei: Hier ist ein vollständiger VBS-Code für das Öffnen einer Excel-Datei in einer neuen Instanz:

    Option Explicit
    Call NeueExcelInstanz
    
    Sub NeueExcelInstanz()
      With CreateObject("Excel.Application")
          .Workbooks.Open WScript.arguments(0),,,,,,,,,,,,,1
          .Visible = True
      End With
    End Sub
  • CSV-Datei Beispiel: Wenn du eine .csv Datei hast, die mit Semikolons getrennt ist, verwende den oben genannten Parametern.


Tipps für Profis

  • Verwende den "SendTo"-Ordner effektiv: Lege mehrere VBS-Dateien für verschiedene Dateitypen in den "SendTo"-Ordner, um eine noch schnellere Nutzung zu ermöglichen.

  • Automatisiere mit Aufgabenplanung: Du kannst auch die Windows Aufgabenplanung verwenden, um VBS-Skripte regelmäßig auszuführen oder bei bestimmten Ereignissen zu starten.


FAQ: Häufige Fragen

1. Wie kann ich die VBS-Datei anpassen, um andere Parameter zu verwenden?
Du kannst die Parameter in der Zeile .Workbooks.Open ändern. Experimentiere mit den verschiedenen Werten, um die gewünschte Funktionalität zu erreichen.

2. Funktioniert das Skript in allen Excel-Versionen?
Ja, das Skript sollte mit den meisten modernen Excel-Versionen funktionieren, solange die VBA-Unterstützung aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige