Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aus VBA WB öffnen nach vorheriger Abfrage

Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:04:27
Hilde
Hallo Leute,
habe mal wieder etwas programmiert, was nicht funktioniert und ich verstehe nicht, warum.
Möchte aus einem Workbook heraus im Hintergrund ein anderes öffnen; dieses befindet sich im selben Verzeichnis.
Habe also im allgemeinen Deklarationsteil folgende Variablen deklariert:
Option Explicit
Public wb1 As Workbook
Public wb2 As Workbook
dann eine kleine Prozedur

Sub DateiOeffnen()
set wb2 = ThisWorkbook.Path & "\" & "Datei.xls"
Wokbooks.Open wb2
End Sub

und das funktioniert nicht! Nicht einmal in dieser ganz einfachen Variante.
Wo liegt der Fehler?
Hilde

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:09:06
Nepumuk
Hallo Hilde,
weil du mit Set auf ein Objekt verweist, das es nicht gibt.
Versuch es mal so:
set wb2 = Wokbooks.Open ThisWorkbook.Path & "\" & "Datei.xls"
Gruß
Nepumuk

AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:09:27
Leo
Hi,
Wokbooks gibt es bislang nicht, vielleicht in einer zukünftigen Excelversion?
mfg Leo
AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:12:29
Hilde
mensch leo,
hab mich nur hier im forum verschrieben!
in meinem code steht "workbook" mit RRRRR!
meine frage ist ehrlich gemeint!
hilde
AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:12:13
Hajo_Zi
Halllo Hilde,
mit Set kannst Du nur ein offene Datei zuweisen, vermute ich mal

Sub DateiOeffnen()
Dim wb2 As String
wb2 = ThisWorkbook.Path & "\24136.xls"
Workbooks.Open wb2
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:28:07
Nepumuk
Hallo Hajo,
du vermutest richtig. Mit der Dim - Anweisung legst reservierst du für eine Objektvariable 16 Bit (Long-Zahl) im Stackframe. Diese Variable ist leer (0). Mit der Set - Anweisung schreibst du die Speicheradresse des Objektes in den reservierten Speicherplatz. Dadurch kannst du über die Objektvariable jetzt direkt auf das Objekt zugreifen. Eine Objektvariable ist also keine Kopie des Objektes sondern nur ein Verweis darauf.
Beispiel:
Public Sub test()
    Dim objWb As Workbook
    Debug.Print ObjPtr(objWb) 'noch leere Objektvariable
    Debug.Print ObjPtr(ThisWorkbook) 'Speicheradresse des Objektes
    Set objWb = ThisWorkbook 'erzeugen des Verweises
    Debug.Print ObjPtr(objWb) 'Adresse des Objektes im Verweis
    Set objWb = Nothing 'löschen des Verweises
    Debug.Print ObjPtr(objWb) 'wieder leere Objektvariable
End Sub

Gruß
Nepumuk

Anzeige
AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 17:31:35
Hajo_Zi
Hallo Nepumuk,
Danke für die Information.
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
AW: Aus VBA WB öffnen nach vorheriger Abfrage
09.10.2005 18:48:17
Hilde
Hallo Nepomuk und Hajo,
danke für Euren fachlichen Exkurs. Hat mir gut geholfen; bzw. ich glaube, es verstanden zu haben. Muss es nun nur noch erst ausprobieren und das geschieht frühestens in 2 stunden, wenn mein Jüngster auch endlich schläft!
Salut - Hilde

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige