Anzeige
Archiv - Navigation
1940to1944
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

XML-Fritzbox-Telefonbuch auflisten

XML-Fritzbox-Telefonbuch auflisten
11.08.2023 17:01:30
Joschi Witchcraft
Hallo Forum.

Ich nutze eine Fritzbox. Und darin ist auch ein Telefonbuch gespeichert. Dieses Telefonbuch habe ich als XML-File exportiert.

Nun möchte ich die Daten aus der exportierten File in einer Excel-Anwendung mit VBA einlesen. Mit geht es primär nicht um das Füllen einer Tabelle. Ich bin schon zufrieden, wenn mir jemand einen Code bereitstellen kann, um alle Inhalte der beigefügten Mini-Musterfile mit Hilfe von Debug.Print anzulisten.

Mein Ziel: ich möchte das Telefonbuch über eine Excel-Tabelle verwalten können. Danach möchte ich aus den Daten der Excel-Tabelle wieder eine XML-File erstellen, welche ich in die Fritzbox importieren kann. In diesem Bereich habe ich keine Probleme. Ähnliches habe ich schon gemacht.

Meine XML-File:
https://www.herber.de/bbs/user/162291.zip

Danke im Voraus in Gruß von Joschi

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
XML-Alternative
13.08.2023 09:53:14
Jan
Hallo

Warum unbedingt eine VBA Lösung?
Mein Tipp siehe Anhang eine PQ Lösung.
Datei Pfad muss angepasst noch werden im erweiterten PQ-Editor.
https://www.herber.de/bbs/user/162307.xlsx
Anzeige
XML-Alternative
13.08.2023 10:20:05
Joschi Witchcraft
Hallo Jan,

und wo finde ich die PQ-Lösung?

Gruß Joschi
XML-Alternative
13.08.2023 10:42:27
Luschi
Hallo Jan,

wenn das so einfach wäre mit dem Fritz!Box-Telefonbuch, würden sich die Antworten darauf im I-Net nur so überschlagen.
Bei mir sieht es beim PQ-Schritt 'Table0' so aus, wenn ich mit der Maus auf die contact-table klicke:
Userbild

Eigentlich braucht man in Excel ja eine XML-Schemadatei ( *.xsd), um die Zuordnung der XML-Einheiten korrekt darstellen zu können; diese wird aber von AVM nicht mitgeliefert und in PQ habe ich noch keine Stelle gefunden, wo man diese xsd-Datei angeben könnte.
In C# gibt es die Möglichkeit, so eine Schema-Datei sich auf der Basis der XML-Datei zu erzeugen, aber auch das ist noch nicht der Weisheit letzter Schluß, denn auch da gibt es noch einige Ecken und Kanten. Aber mit dieser erstellten xsd-Datei konnte Excel das Fritz!Box-Telefonbuch ganz gut öffnen und ich dann per Vba eine Übersicht aller Einträge nachbauen bei ca. 1.100 Einträgen.
Auf alle Fälle hat sich AVM sehr viel Mühe gegeben, das Telefonbuch hinter 7 Siegeln zu verstecken, denn es ist mir bis jetzt noch nicht gelungen, die Änderungen (Schreibfehlerbereinigung, Löschen ungültiger Einträge, neue Kontaktdaten usw. ) sauber in die Fritz!Box zurück zu importieren.

Gruß von Luschi
aus klein-Paris

Anzeige
XML-Alternative
13.08.2023 11:29:56
Jan
Hallo Luschi

Danke erstmal für dein Feedback.
Wenn ich dich jetzt richtig verstanden habe ist meine Lösung falsch, sehe ich das richtig?
Hast du aus dieser XML Datei noch mehr an Daten aus lesen können mit PQ außer diese 4 Zeilen?
XML-Alternative
13.08.2023 18:22:14
Luschi
Hallo Jan,

meine Erklärungen dazu beruhen auf einer Original xlm-Telefondatei von Fritz!Box mit über 1.100 Kontakt-Einträgen; z.Z. kann ich mit Hilfe der in C# erstellten xsd-Datei die Daten der xml-Datei in Excel einlesen und dort auch verändern. Nur das zurückschreiben in eine xml-Datei per Excel will mir noch nicht so recht gelingen, denn die Fritz!Box meckert beim Importieren, bzw. zeigt die Daten dann nicht korrekt an.
Dieses Problem läuft aber auf meiner Prioritätenliste z.Z. aber unter ferner liefen.

Gruß von Luschi
aus klein-Paris

Anzeige
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 08:23:44
Joschi Witchcraft
Hallo Thorsten.

Vielen Dank für Deine Infos. Diese Ecke von Excel kannte ich bisher nicht, hatte sie allerdings auch nicht vermisst.

Der Import hat grundsätzlich funktioniert. Wenn ich dann allerdings versuche, diese Tabelle wieder als XML zu exportieren, erhalte ich die Fehlermeldung "Die XML-Daten können niicht exportiert oder gespeichert werden. Die XML-Zuordnungen in diesem Arbeitsblatt sind nicht exportierbar."

Habe ich irgendwo einen Gedankenfehler oder was ist die Ursache für diese Meldung?

Gruß Joschi
AW: XML-Fritzbox-Telefonbuch auflisten
12.08.2023 09:06:14
Oberschlumpf
Moin Joschi,

tja, mein Fehler^^ :-) (was ich vorher aber nicht wusste)

Ich hatte...
...den dir gezeigten IMPORT-Link gefunden
...anhand der gezeigten Anleitung ebenso wie du erfolgreich eine XML-Datei von meiner Fritzbox importiert
...dann den Link für EXPORT gefunden

... aber ohne die Export-Anleitung auszuprobieren dir sofort geantwortet

Erst danach hab ich es interessehalber mal ausprobiert...und scheiterte genau wie du an den gezeigten Fehlermeldungen.

Nach deiner Antwort vorhin hab ich es noch mal versucht, bzw mit Google etwas intensiver nach einer Lösung für Export-von-Excel-zu-XML recherchiert.

Gefunden hab ich diese Seite:
https://www.tabellenexperte.de/von-excel-zu-xml-und-zurueck/

Und die dort gezeigte Anleitung hab ich erst mal ausprobiert - bevor ich - meine (diese hier) Antwort an dich schreibe :-)

Nach Anleitung hab ich genau das erreicht, was dort beschrieben steht...mit den jeweiligen Bsp-Dateien - also funktioniert all das schon mal grundsätzlich.
Daraus verstanden hab ich, dass du wohl erst mal für deine Fritzbox-XML-Dateien erstmal die notwendige XSD-Datei erstellen musst (in der Anleitung wird die Datei unter dem Namen schema.xsd gespeichert).

Und nur mit der XSD-Datei, die für die Fritzbox-XML-Dateien anwendbar ist, ist eben der Xml-E X P O R T möglich.
Ich hab es nicht versucht, für meine Fritzbox-xml-Dateien eine xsd-Datei zu erstellen.

Ich hoffe, ich konnte trotzdem helfen.

Ciao
Thorsten
Anzeige
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 09:26:23
Joschi Witchcraft
Hallo Thorsten.

Nochmals Danke für Deine weiteren Informationen. Das mit der "Quelle" habe ich jetzt auch gefunden. Doch bei der Anwendung scheitere ich.
Egal.

Für mich war wichtig, die XML-Daten "aufbereitet" irgendwo vorzufinden, z. B. in einer Excel-Tabelle.

Mit eigener Logik kann ich nun aus den "lesbaren" Daten eine neue XML-File speziell für meine Fritzbox erstellen. Das ist mit meinem Basis-Wissen kein Problem.

Danke und Gruß

Joschi
AW: XML-Fritzbox-Telefonbuch auflisten
12.08.2023 10:04:10
Oberschlumpf
Hi Joschi,

da ja, wie du vllt gemerkt hast, bzgl XML-Export auch noch nich so der Fachmann bist, würd ich gern wissen, WIE du es schaffst, eine XML-Datei aus Excel heraus zu erstellen?
Denn genau DAS war ja "unser" Problem.

Ciao
Thorsten
Anzeige
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 10:31:31
Joschi Witchcraft
Hallo Thorsten.

Gerne beantworte ich Dir Deine Frage:

Userbild

Gruß Joschi
AW: XML-Fritzbox-Telefonbuch auflisten
12.08.2023 14:47:11
Oberschlumpf
Hi Joschi,

erst mal danke für deine Teil-Antwort.
Dann möchte ich mein letztes Wirrwarr-Schreiben entwirren.

Ich meinte, dass ICH derjenige bin, der sich bzgl. XML-Export auch noch nicht so auskennt.

Und nun zu deiner TeilAntwort:

Ok, so erstellst du ein Grundgerüst für eine XML-Datei.

Aber bitte genau was steht anstelle von .... zwischen


Print #1, " "
'und
Print #1, " / phonebook>"


?

Danke.

Ciao
Thorsten
Anzeige
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 16:27:06
Pappawinni
Da dürften dann Telefonbucheinträge kommen, etwa so:

contact >
category >0 /category >
person > realName >Max Musterfrau /realName > /person >
telephony nid="3" >
number type="label:Mobil" prio="1" id="0" >+4911111111 /number >
number type="label:Geschäftlich" prio="0" id="1" >0157 11111111 /number >
number type="label:Privat" prio="0" id="2" >030 1111 /number >
/telephony >
services / >
uniqueid >500 /uniqueid >
/contact >

wobei die Tags natürlich vorn und hinten keine Leerzeichen haben, aber anders bekomme ich die wohl hier nicht rein.
Wenn du dir das von der Fritzbox exportiert XML anschaust, kannst du dir da selbst nen Reim drauf machen, was das alles bedeutet.
Anzeige
AW: XML-Fritzbox-Telefonbuch auflisten
12.08.2023 16:35:55
Oberschlumpf
auch an dich vielen Dank!
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 20:09:12
Joschi Witchcraft
Noch eine Bemerkung von mir: die führenden Leerstellen stören nicht. Ich habe sie eingefügt. um im generierten Text eine bessere Übersicht zu haben.

Gruß Joschi
XML-Fritzbox-Telefonbuch auflisten
13.08.2023 08:47:58
Joschi Witchcraft
Hallo Forum.

Jetzt hätte ich doch noch eine Frage.

Nachdem ich - wie von Thorsten empfohlen - die XML-Daten importiert habe, benötige ich in der Tabelle für meine Weiterverarbeitung noch zwei zusätzliche Spalten. Die habe ich vor die durch den Import erstellen Spalten eingefügt. Allerdings gelingt es mir nicht, einen gemeinsamen Autofiter für alle Spalten zu setzen. Die durch den Import eingerichteten Spalten scheinen ein Eigenleben innerhalb meines Tabellenblattes zu führen.

Kann mir das jemand erklären und mir sagen, wie ich das "aufheben" kann?

Noch eine Bemerkung zu diesem Thread.
Ich hatte bereits eine "handgestrickte" Routine, welche mir das Fritzbox-Adressbuch in der XML-Version einliest und eine "passende" Excel-Tabelle aufgebaut hat. Das Muster dazu habe ich im Internet gefunden. Doch inzwischen gibt es im Adressbuch neue Informationen, die in meiner alten Version nicht vorgesehen waren. Und mir war es nicht möglich, diesen Code entsprechend zu erweitern.
Ich habe alte Schnurlostelefone im Einsatz, welche das Adressbuch-Format der Fritzbox nicht verstehen. Deshalb habe ich das Adressbuch per VBA für diese Telefone "umgebaut", den erforderichen XML-Code generiert und dann in die Fritzbox mit einem vorgegebenen Namen importiert. Deshalb habe ich bereits einen Code, der XML für das Adressbuch erstellt. Den Code muss ich aber noch anpassen.

Und eines dieser alten Schnurlostelefone ist noch immer im Einsatz. Es gibt noch viel zu tun.

Gruß Joschi
Anzeige
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 18:02:55
Pappawinni
Bei den Beispielen, die ich so gefunden habe, fehlen die Tags "services /" und "uniqueid" bzw. "\uniqueid"
Auch nid = "x" fehlt in aller Regel. Die Fritzbox ergänzt sowas wohl automatisch, wenn man das XML zur Wiederherstellung benutzt.
Es wird allerdings immer das Telefonbuch überschrieben, d.h. einzelne Einträge nachtragen scheint so nicht möglich.
AW: XML-Fritzbox-Telefonbuch auflisten
13.08.2023 06:18:56
Oberschlumpf
Danke. Genau so wird auch mein Plan:
- bei Bedarf zwar in Excel neue Einträge
- aber immer alles komplett in die FB importieren
XML-Fritzbox-Telefonbuch auflisten
12.08.2023 15:39:15
Joschi Witchcraft
Hallo Thorsten.

Mein Code ist sehr umfangreich, weil ich darin auch noch ein paar Besonderheiten abgedeckt hatte. Und (nicht nur dafür) nutze ich verschiedene eigene Funktionen (wie z. B. UMLAUTE).

Grundsätzliche loope ich durch die Tabelle und dann jeweils durch die Spalten. Und je nach Kopfzeile der Spalten wird dann ein bestimmter String generiert.

Userbild

Ich hoffe, diese Information hilft DIr weiter.

Gruß Joschi

Anzeige
XML-Fritzbox-Telefonbuch auflisten
15.08.2023 23:08:28
Pappawinni
Ich bin gerade anderweitig eingespannt, aber vielleicht noch ein Hinweis.
Die Datei so mit einzelnen Print-Befehlen zu schreiben dürfte zwei Probleme haben.
1. Es wird nicht wird nicht wirklich Utf-8, was es aber sein soll und
2. Es ist wirklich langsam.
Ich würde den ganzen Senf in einer String-Variable zusammenbauen und das Ganze dann in einem rausschreiben.
Sei der Text in der Variablen sText und der Pfad der xml Datei in der Variablen strFilePath:


Dim adodbStreamUTF
Dim adodbStreamBIN
Set adodbStreamUTF = CreateObject("ADODB.Stream")
Set adodbStreamBIN = CreateObject("ADODB.Stream")

'sText nach UTF und dann als Binary nach strFilePath schreiben (ohne Byte Order Mark)

With adodbStreamBIN
.Type = 1 'Binary Type
.Open
With adodbStreamUTF
.Type = 2 'Text Type
.Charset = "UTF-8"
.Open
.WriteText sText 'Text schreiben
.flush
.Position = 3 'nach BOM
.copyto adodbStreamBIN
.Close
End With
.SaveToFile strFilePath, 2 'Datei speichern, ggf. neu erzeugen
.Close
End With


AW: XML-Fritzbox-Telefonbuch auflisten
12.08.2023 15:46:26
Oberschlumpf
Hi Joschi,

ja, noch mal danke.
Wenn auch das wieder nur n Codeschnipsel ist :-), kann ich damit aber schon mal etwas mehr mit anfangen.

Ciao
Thorsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige