Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
572to576
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
572to576
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bezug auf offene Mappen trotz variabler Dateinamen

Bezug auf offene Mappen trotz variabler Dateinamen
21.02.2005 14:31:14
Flo
Hallo,
ich möchte ein Makro schreiben welches zwischen den offenen Mappen wechselt.
Die Dokumente sollen aus einem Masterdokument heraus geöffnet werden (Button1) und über einen "Button2" soll dann ein weiteres Makro gestartet werden.
Das steckt hinter Button1:
------------------------------

Private Sub importieren_Click()
Dim varRetVal As Variant
Dim n         As Integer
varRetVal = Application.GetOpenFilename( _
FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Eine oder mehrere Dateien zum Öffnen auswählen", _
MultiSelect:=True)
If IsArray(varRetVal) Then
On Error Resume Next
For n = LBound(varRetVal) To UBound(varRetVal)
Workbooks.Open varRetVal(n)
Next
On Error GoTo 0
End If
End Sub

------------------------------
klappt auch...
Die Namen der Dokumente die so geöffnet werden haben natürlich auch einen Namen, der Name ist aber unbekannt bzw. soll veränderbar sein. Wie kann ich mich im Makro auf diese Dateien beziehen, deren Namen ich bei programmieren noch nicht kenne und zuvor (s.o.) über einen Button geöffnet wurden. Ich brauch doch die Namen um zwischen den offenen Dokumenten springen zu können...
Kann ich beim Öffene vielleicht jeder der Dateien ein Sysnonym zuordenen?
z.B.: Test1.xls => Dok1
Beispiel.xls => Dok2
Name33.xls => Dok3
und dann schreibe ich im Makro immer nur "Dok1" bzw. "Dok2" usw.
So eine funktion müsste dann doch in mein "Importieren" (s.o.) integriert werden...
Zwischen Mappen mit bekannten Namen springe ich so:
------------------------------
Windows("Test1.xls").Activate
Windows("Beispiel.xls").Activate
------------------------------
Ist das so verständlich was mein Problem ist?!?
Vielen Dank für Hilfe ;-)
MfG
Flo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bezug auf offene Mappen trotz variabler Dateinamen
Udo
Die Namen stehen in dem Array varRetVal. Du musst ihn nur außerhalb der Prozedur
als Public deklarieren.
Udo
AW: Bezug auf offene Mappen trotz variabler Dateinamen
21.02.2005 15:42:50
Flo
und wie mach ich dass?
Wie gesagt, meine VBA-Kenntnisse sind nicht so gut ;-)
Vielen Dank
Flo
AW: Bezug auf offene Mappen trotz variabler Dateinamen
Udo
Oben, noch vor der Ersten Sub (oder Function):
Public varRetVal as Variant
Udo
AW: Bezug auf offene Mappen trotz variabler Dateinamen
21.02.2005 16:08:03
Flo
Ach so, hat er auch gleich akzeptiert...
Aber wie weise ich die Dateien beim öffnen einer Variablen zu?
Was muss ich dazu in mein "öffnen_Click()"?
Die Anzahl der Dateien variiert ja auch noch, wie hole ich denn die Anzahl der über "öffnen_Click()" geöffneten Dateien in die Schleife (wenn ich überhaupt ne Schleife brauche)...
-----------------------

Private Sub öffnen_Click()
Dim varRetVal As Variant
Dim n         As Integer
varRetVal = Application.GetOpenFilename( _
FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Eine oder mehrere Dateien zum Öffnen auswählen", _
MultiSelect:=True)
If IsArray(varRetVal) Then
On Error Resume Next
For n = LBound(varRetVal) To UBound(varRetVal)
Workbooks.Open varRetVal(n)
Next
On Error GoTo 0
End If
End Sub

-----------------------
Danke noch mal für die schnellen Antworten...
Grüße
Flo
Anzeige
AW: Bezug auf offene Mappen trotz variabler Dateinamen
Udo
Option Explicit
Dim varRetVal As Variant

Private Sub importieren_Click()
Dim n As Integer
varRetVal = Application.GetOpenFilename( _
FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Eine oder mehrere Dateien zum Öffnen auswählen", _
MultiSelect:=True)
If IsArray(varRetVal) Then
On Error Resume Next
For n = LBound(varRetVal) To UBound(varRetVal)
Workbooks.Open varRetVal(n)
Next
On Error GoTo 0
End If
End Sub


Private Function BaseName(Pfad) As String
'Isolieren des Dateinamen aus dem Pfad
Dim tmp As String, i As Integer
i = InStrRev(Pfad, "\") + 1
BaseName = Mid(Pfad, i, 256)
End Function

Sub testmakro()
'Auslesen aus dem Array
'Mit dem ausgelesenen Namen kannst du auf die Mappe zugreifen.
Dim Mappe As String
On Error Resume Next
Mappe = BaseName(varRetVal(1))
MsgBox Mappe
End Sub
Udo
Anzeige
AW: Bezug auf offene Mappen trotz variabler Dateinamen
24.02.2005 14:57:43
Flo
erst mal vielen Dank,
hmmm... aber das funktioniert doch nur wenn ich eine einzele Datei öffne oder verstehe ich das Makro falsch. Läuft es auch wenn ich 5 dateien über die Application.GetOpenFilename öffne?
Sorry, dass ich so lang nichts von mir habe hören lassen aber ich bin nur drei Tage die Woche am Platz...
Vielen Dank für jede Hilfe
MfG
Flo

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige