Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1372to1376
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
Inhaltsverzeichnis

geöffnete(nicht gespeicherte) xml-datei auslesen

geöffnete(nicht gespeicherte) xml-datei auslesen
07.08.2014 13:38:27
Marcel
Hallo zusammen,
ich habe eine xml-Datei, welche in Excel2010 geöffnet, aber nicht gespeichert ist.
Auf diese möchte ich nun zugreifen und die Daten in einem ExcelWorkbook per VBA verwenden.
Leider bekomme ich keinen Zugriff darauf.
Habe nun ca. 2 Stunden recherchiert und nichts brauchbares gefunden.
Am nächsten dran war eine Lösung aus diesem Forum:
https://www.herber.de/forum/archiv/172to176/173968_Alle_geoeffneten_Dateien_via_VBAcode_auslesen.html#173968
Damit bekomme ich den Dateinamen, durch den geöffneten Task, aber nicht einen Namen, auf den ich dann mit VBA darauf zugreifen kann.
Bitte helft mir. Danke im Voraus!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: geöffnete(nicht gespeicherte) xml-datei auslesen
11.08.2014 15:19:13
fcs
Hallo Marcel,
es funktioniert nur reibungslos, wenn beide Dateien innerhalb der gleichen Excelsession geöffnet sind.
Dann kann man es etwa wie folgt lösen.
Bei Start des Makros muss die Datei aktiv sein, in der die XML-Dateidaten verwendet werden sollen.
Andere Wege sind auch möglich, dann muss man das Makro entsprechend anpassen.
Gruß
Franz
Sub Test()
Dim wkbAktiv As Workbook, wksAktiv As Worksheet, Zeile_A As Long
Dim wkbXML As Workbook, wksXML As Worksheet
Set wkbAktiv = ActiveWorkbook
Set wksAktiv = wkbAktiv.Worksheets(2)
Set wkbXML = fncGetOtherWorkbook
With wksAktiv
Zeile_A = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
End With
If wkbXML Is Nothing Then
MsgBox "Es ist keine weitere Datei vorhanden oder es wurde keine Datei gewählt!"
Else
MsgBox "Datei """ & wkbXML.Name & """ wurde gewählt!"
Set wksXML = wkbXML.Worksheets(1)
With wksXML
.Range("R2:R44").Copy
wksAktiv.Cells(Zeile_A, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True
.Range("Q2:Q44").Copy
wksAktiv.Cells(Zeile_A + 1, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
wksAktiv.Rows(Zeile_A + 1).Borders.LineStyle = xlLineStyleNone
wksAktiv.Rows(Zeile_A + 1).Interior.ColorIndex = xlColorIndexNone
End With
End If
End Sub
Function fncGetOtherWorkbook() As Workbook
Dim wkb As Workbook, wkbAktiv As Workbook
Set wkbAktiv = ActiveWorkbook
For Each wkb In Application.Workbooks
Select Case LCase(wkb.Name)
Case LCase(wkbAktiv.Name)
Case "personl.xls", "personal.xlsb"
Case Else
wkb.Activate
Select Case MsgBox("Diese Datei verwenden?" & vbLf & wkb.Name, _
vbQuestion + vbYesNoCancel, "Workbook auswählen")
Case vbYes
Set fncGetOtherWorkbook = wkb
Exit For
Case vbNo
Case vbCancel
End Select
End Select
Next
wkbAktiv.Activate
End Function

Anzeige

64 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige