Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Set Zuweisung an workbooks.opentext, geht nicht

Forumthread: Set Zuweisung an workbooks.opentext, geht nicht

Set Zuweisung an workbooks.opentext, geht nicht
29.10.2005 13:13:38
Markus
Hallo,
wie bekomme ich Zugriff via set auf mein neu geöffnetes Workbook
Code:
Dim wbData As Workbooks
' so gehts NICHT
Set wbData = Workbooks.OpenText(fileName:=outFileName, Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=True, OtherChar:=" ", FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1)))
' so gehts
Workbooks.OpenText(fileName:=outFileName, Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=True, OtherChar:=" ", FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1)))
Wie bekomme ich die set-Zuweisung hin?
Grüße
Markus
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Set Zuweisung an workbooks.opentext, geht nicht
29.10.2005 13:22:13
Fred
Hi,
eigentlich sollte hierdurch:
Dim wbData As Workbooks
eine Fehlermeldung ausgelöst werden.
mfg Fred
AW: Set Zuweisung an workbooks.opentext, geht nicht
29.10.2005 13:30:54
Luschi
Hallo Markus,
es geht nur so:
Dim wbData As Workbook
Workbooks.OpenText Filename:=outFileName, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=True, OtherChar:=" ", _
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
'das soeben geöffnete Workbook ist auch das aktive Workbook
Set wbData = ActiveWorkbook
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Set Zuweisung an workbooks.opentext, geht nicht
Markus
Hallo Luschi,
Danke für den konstruktiven Beitrag. Funktioniert!
Genau das was ich gesucht habe, manchmal ist die Lösung doch so einfach :-).
Eine Frage noch in diesem Zusammenhang:
Ich habe bemerkt, daß ich den Typ als "Workbook" und nicht als "Workbooks" deklarieren muß. Wann nimmt man denn was her?
Gruß
Markus

Hi Markus,
Workbook ist ein Objekt - eine einzelne Mappe. Workbooks ist eine Eigenschaft des Application-Objektes - eine Auflistung. Diese gibt alle geöffneten Mappen als Workbook zurück.
Gruß
Nepumuk

Anzeige
;
Anzeige

Infobox / Tutorial

Fehlerbehebung bei workbooks.opentext in Excel VBA


Schritt-für-Schritt-Anleitung

Wenn Du mit workbooks.opentext in Excel VBA arbeitest und Zugriff auf ein neu geöffnetes Workbook erhalten möchtest, befolge diese Schritte:

  1. Deklariere die Variable für das Workbook korrekt:

    Dim wbData As Workbook
  2. Öffne die Textdatei mit Workbooks.OpenText:

    Workbooks.OpenText Filename:=outFileName, Origin:=xlWindows, _
       StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
       ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
       Comma:=False, Space:=False, Other:=True, OtherChar:=" ", _
       FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
  3. Setze die Variable auf das aktive Workbook:

    Set wbData = ActiveWorkbook

Damit hast Du erfolgreich eine Zuweisung mit workbooks.opentext durchgeführt.


Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt bei der Variablen"

    • Lösung: Stelle sicher, dass Du Dim wbData As Workbook verwendest und nicht Workbooks.
  • Fehler: "Workbook konnte nicht geöffnet werden"

    • Lösung: Überprüfe den Dateipfad von outFileName und stelle sicher, dass die Datei existiert.

Alternative Methoden

Falls Du eine andere Methode bevorzugst, um eine Textdatei in ein Workbook zu importieren, kannst Du auch Workbooks.Open verwenden. Hier ein Beispiel:

Set wbData = Workbooks.Open(fileName:=outFileName)

Beachte jedoch, dass diese Methode nicht die spezifischen Parameter von OpenText unterstützt. Sie ist eher für Excel-Dateien geeignet.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das die Verwendung von workbooks.opentext demonstriert:

Sub ImportTextFile()
    Dim wbData As Workbook
    Dim outFileName As String
    outFileName = "C:\DeinPfad\deinedatei.txt"

    Workbooks.OpenText Filename:=outFileName, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))

    Set wbData = ActiveWorkbook
End Sub

In diesem Beispiel wird eine Textdatei importiert und in die Variable wbData gespeichert.


Tipps für Profis

  • Verwende Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert sind.
  • Nutze Error Handling, um einen reibungslosen Ablauf zu garantieren und unerwartete Fehler besser zu handhaben.
  • Experimentiere mit den Parametern von workbooks.opentext, um die besten Ergebnisse für Deine Daten zu erzielen.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Workbook und Workbooks? Workbook bezieht sich auf eine einzelne Arbeitsmappe, während Workbooks eine Sammlung aller geöffneten Arbeitsmappen ist.

2. Wie kann ich den Textqualifier ändern? Du kannst den Textqualifier in der OpenText-Methode anpassen, indem Du den Parameter TextQualifier änderst, z.B. TextQualifier:=xlDoubleQuote.

3. Warum funktioniert Set wbData = Workbooks.OpenText(...) nicht? Die Methode OpenText gibt kein Workbook-Objekt zurück, deshalb musst Du zuerst das Workbook öffnen und dann Set wbData = ActiveWorkbook verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige