Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Fritzbox Telefonbuch - XML-Importdatei aus Excel erstellen

Mitglied: PeterleB

PeterleB (Level 1) - Jetzt verbinden

06.10.2019 um 13:22 Uhr, 684 Aufrufe, 2 Kommentare

Das Thema geistert schon seit Jahren durch verschiedene Foren.
Habe mich jetzt mal damit etwas intensiver befasst und hoffe, niemanden damit zu langweilen.

Also: Eine Excel-Datei mit 5 Spalten erstellen.

Z. Bsp

Name (realName) Telefon privat (home) Telefon geschäftlich (work) Telefon mobil (mobile) Fax (fax_work)


Die Spalten sollten als Text formatiert sein, dann lassen sich die die Telefonnummern besser eingeben (führende Null oder Pluszeichen).
Eine Formatierung bzw. Validierung der Nummern soll auch noch eingebaut werden.
Über Entwicklertools ein neues Makro anlegen und folgenden Code einfügen:

01.
Sub XML_Export()
02.
Dim strDateiname As String
03.
Dim strDateinameZusatz As String
04.
Dim strMappenpfad As String
05.
Dim intCutExt
06.

07.
'Datename ohne Ext. (nach Punkt suchen):
08.
intCutExt = Len(ActiveWorkbook.Name) - InStrRev(ActiveWorkbook.Name, ".") + 1
09.
strMappenpfad = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) - intCutExt)
10.

11.
'strDateinameZusatz = "-" & Year(ActiveSheet.Cells(3, 1).Value) & "-" & Month(ActiveSheet.Cells(3, 1).Value) & ".xml"
12.
strDateinameZusatz = "-" & Format(Now, "YYYY-MM-DD-HH-MM-SS") & ".xml"
13.

14.
strDateiname = InputBox("Bitte den Namen der XML-Datei angeben.", "XML-Export", strMappenpfad & strDateinameZusatz)
15.
If strDateiname = "" Then Exit Sub
16.

17.
Range("A2").Select
18.

19.
'Erstellt die Telefonbuchdatei (hier: xxx.xml)
20.
'Dateiname kann frei gewählt werden
21.
'Der entsprechende Ordner MUSS vorhanden sein, da sonst ein Fehler auftritt
22.
    Set fs = CreateObject("scripting.filesystemobject")
23.
    
24.
    Set a = fs.createtextfile(strDateiname, True)
25.

26.
'Schreibt den allgemeinen Teil der Telefonbuchdatei
27.
    a.writeline ("<?xml version=" & """1.0""" & " encoding=" & """utf-8""" & "?>")
28.
    a.writeline ("<phonebooks>")
29.
    a.writeline ("<phonebook")
30.
    'a.writeline ("<phonebook name=" & """Telefonbuch 1""" & " owner=" & """1""" & ">")
31.

32.

33.
'Schleife zur Ermittlung aller Einträge
34.
'Benutzt alle Datensätze, die einen Namen enthalten
35.
    i = 0
36.
    While ActiveCell.Offset(i, 0) <> ""
37.
    
38.
    Dim realName As String
39.
    realName = ActiveCell.Offset(i, 0)
40.
    Dim home As String
41.
    home = ActiveCell.Offset(i, 1)
42.
    Dim work As String
43.
    work = ActiveCell.Offset(i, 2)
44.
    Dim mobile As String
45.
    mobile = ActiveCell.Offset(i, 3)
46.
    Dim fax_work As String
47.
    fax_work = ActiveCell.Offset(i, 4)
48.

49.
'Schreibt den Telefonbucheintrag
50.
    a.writeline ("<contact><category>0</category>")
51.
    a.writeline ("<person><realName>" + realName + "</realName></person><telephony>")
52.
    a.writeline ("<number type=" & """home""" & " prio=" & """1""" & " id=" & """0""" & ">" + home + "</number>")
53.
    a.writeline ("<number type=" & """work""" & " prio=" & """1""" & " id=" & """1""" & ">" + work + "</number>")
54.
    a.writeline ("<number type=" & """mobile""" & " prio=" & """1""" & " id=" & """2""" & ">" + mobile + "</number>")
55.
    a.writeline ("<number type=" & """fax_work""" & " prio=" & """1""" & " id=" & """3""" & ">" + fax_work + "</number>")
56.
    a.writeline ("</telephony></contact>")
57.
    
58.
    i = i + 1
59.
    Wend
60.
'Ende der Schleife
61.
    
62.
'Ende der Telefonbuchdatei
63.
    a.writeline ("</phonebook>")
64.
    a.writeline ("</phonebooks")
65.
    
66.
MsgBox "Export erfolgreich. Datei wurde exportiert nach" & vbCrLf & strDateiname
67.
End Sub
68.
Wenn man die erstellte XML-Datei in der Fritzbox zur Wiederherstellung des Telefonbuches benutzt, ergänzt die FB-Software selbst fehlende Bezeichner und Tags.
Achtung! Das vorhandene Telefonbuch wird immer überschrieben.

Nächster Schritt im Code wird das Ausfiltern leerer Zellen und Überlegungen zu weiteren sinnvollen Tags.
Und auch ein Import einer FB-Sicherungsdatei des Telefonbuches ist mittelfristig geplant.

Viel Vergnügen beim Anwenden und Experimentieren.
Für Hinweise bin ich sehr dankbar.

Viele Grüße
Peter
Mitglied: PeterleB
08.10.2019 um 11:23 Uhr
Übrigens habe ich den Tipp auch im ip-phone-forum gepostet (Ich hoffe, das ist erlaubt)
Dort gab es noch Hinweise auf ein gleichnamiges Thema und einen gut beschriebenen Export/Import für XML bei Excel.

[ https://www.ip-phone-forum.de/threads/fritzbox-telefonbuch-xml-importdat ...]

Gruß Peter
Bitte warten ..
Mitglied: silvereye
21.10.2019 um 22:12 Uhr
Hallo Peter,

vorab danke für Deinen geposteten Code.
Ich habe soeben Deinen VBA code ausprobiert. Exceltabelle mit 5 Spalten, Überschriften Zeile 1, A-E wie Du es beschrieben hast definiert.
Code laufen lassen mit Ergebnis xml-Datei erzeugt.
Die erstellte xml-Datei habe ich versucht in meiner Fitzbox (7490, FRITZ!OS: 07.12) -> Telefonbuch -> Wiederherstellen -> hoch zu laden. Es erfolgt die Fehlermeldung: "Beim Wiederherstellen des Telefonbuchs ist ein Fehler aufgetreten."
Das Telefonbuch wurde nicht implementiert.

Hast Du vielleicht eine Ahnung warum nicht?

Viele Grüße
Bitte warten ..
Ähnliche Inhalte
TK-Netze & Geräte
Fritzbox als Session Boarder Controller
Tipp von Spirit-of-EliTK-Netze & Geräte15 Kommentare

Moin zusammen, Es wird zwar auch häufig drauf hingewisen das man auch TK Anlagen an den S0 einer Fritzbox ...

Router & Routing
Lets Encrypt kommt auf die FritzBox
Information von 134464Router & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

VB for Applications
ICS Import zu Excel
Tipp von PeterleBVB for Applications3 Kommentare

Falls es jemanden interessiert. Auf Grundlage einer gefundenen Anleitung habe ich mal ein Makro (VBA) für Excel angepasst, welches ...

Microsoft Office
Excel druckt keine Rahmen
Tipp von erikroMicrosoft Office2 Kommentare

Moin, das ist ein Problem aus der Abteilung "Vollkommen absurd". Einer unserer User beschwerte sich, dass Excel 2010 keinerlei ...

Neue Wissensbeiträge
Off Topic
8 zoll disketten
Information von brammer vor 8 StundenOff Topic2 Kommentare

Hallo, ob das so gut ist brammer

Off Topic
Noch mehr was ich nicht brauche
Information von brammer vor 3 TagenOff Topic6 Kommentare

Hallo, WOFÜR? WARUM? brammer

Windows Server

Windows Server 2016 Suche nicht funktioniert ist ausgegraut Windows Server 2016 Search not work

Erfahrungsbericht von Wano347 vor 4 TagenWindows Server

Hallo Leute, wir haben vor kurzem ein Problem gehabt: Windows Server 2016 frisch installiert. Nach Checkliste konfiguriert (sieht vor ...

Microsoft Office

Microsoft geht nun rechtlich gegen Lizengo vor - Billig Software

Information von takvorian vor 4 TagenMicrosoft Office12 Kommentare

Hallo zusammen, eben auf CRN gefunden, weis nicht ob das schon wer gepostet hat Microsoft verklagt Lizengo Gruß Tak

Heiß diskutierte Inhalte
Windows 7
Alter PC abgebrannt - Festplatte im neuen PC führt zum Bluescreen
gelöst Frage von CAT404Windows 724 Kommentare

Moin ich habe seit heute mittag einen PC aufm Tisch stehen, total verzweifelter Eigentümer. Der Rechner ist so ein ...

Router & Routing
Zwei Netzwerk miteinander verbinden oder in einem IP Bereich Zugriffsrechte setzen
Frage von spreenautinRouter & Routing14 Kommentare

Hallo, ich würde gerne zwei Netzwerk mit unterschiedlichen IP Bereichen mit einandern verbinden. Dann würde ich gerne definieren wer ...

Server-Hardware
Welches Betriebssystem für DL380p Gen8 für den Heimgebrauch
Frage von peter91gServer-Hardware13 Kommentare

Hallo zusammen, betreibe Zuhause einen Dl380p G8 derzeit mit ESXI in der Testversion. Es läuft je nach Bedarf Ubuntu ...

Batch & Shell
Batch - Datei über das Kontextmenü (Senden an) des Windows Explorer umbenennen
gelöst Frage von AlfornoBatch & Shell10 Kommentare

Hallo, ich möchte eine beliebige Word Datei mittels Batch umbenennen. Als Ergebnis soll der neue Dateiname das Änderungsdatum sowie ...