Thema Datum  Von Nutzer Rating
Antwort
Rot XML_aus Excel
02.11.2017 08:34:24 Michael
NotSolved
02.11.2017 09:53:51 Gast70117
NotSolved

Ansicht des Beitrags:
Von:
Michael
Datum:
02.11.2017 08:34:24
Views:
1218
Rating: Antwort:
  Ja
Thema:
XML_aus Excel

Hallo zusammen ich habe folgendes Problem:

ich möchte aus einem Excel Tabellenblatt eine XML Datei erstellen. Das Klappt auch schon ganz gut. Allerdings müssten für die XML ein paar Zeichen ersetzt werden.

wie die Umlaute, ß und Leerschritte da die XML sonst nicht eingelesen werden kann. Das ersetzen müsse während dem Print ausdruck erfolgen.

Irgendwie komm ich da grad nicht weiter. Vielleicht kann mir jemand helfen?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Sub stamm()
 
 Application.DecimalSeparator = "."
 Application.ThousandsSeparator = ""
 Application.UseSystemSeparators = False
  
'falls die Zieldatei noch nicht vorhanden ist,
'wird sie erstellt
Dim Datei As String, Text As String
Dim Zeile As Long
Dim zeigen
Dim GanzeZeile As String
ze_last = ActiveCell.SpecialCells(xlLastCell).Row
ze_lasta = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
 
'## Tabellenblatt und Spalte an deine Bedürfnisse anpassen
Set rngBereich = ActiveSheet.Range("A1:AM" & Cells(Rows.Count, 1).End(xlUp).Row) 'A1 bis letzte in A
'## Tabellenblatt und Spalte an deine Bedürfnisse anpassen
 
ActiveSheet.Columns("A:ZZ").NumberFormat = "@" 'Spalte A Format Text
  
 
For Each rngZelle In rngBereich
    rngZelle = Replace(rngZelle, ",", ".") 'Komma durch Punkt ersetzen
    rngZelle = Replace(rngZelle, "ä", "ae") '
    rngZelle = Replace(rngZelle, "Ö", "oe") '
    rngZelle = Replace(rngZelle, "ü", "ue") '
    rngZelle = Replace(rngZelle, "ß", "ss") '
Next rngZelle
 
 
 
 
On Error GoTo Fehler
 
 
'Zieldatei festlegen
Datei = "C:\kuhnle\" & "BDEStamm.xml"
 
 
'GanzeZeile = GanzeZeile & Trennzeichen & Cells(Zeile, Spalte).Value
 
Open Datei For Output As #1            'Zieldatei öffnen
 
Print #1, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & " standalone=" & Chr(34) & "no" & Chr(34) & "?> <DBData xmlns=" & Chr(34) & "http://tempuri.org/DBData.xsd" & Chr(34) & "><Mitarbeiter><Kurzzeichen>1</Kurzzeichen><Name>Michael Ruppert</Name></Mitarbeiter>" & "<Mitarbeiter><Kurzzeichen>5</Kurzzeichen><Name>Julian Krause</Name></Mitarbeiter>" & "<Mitarbeiter><Kurzzeichen>3</Kurzzeichen><Name>Gregor Berendt</Name></Mitarbeiter>"
 
 
For Zeile = 2 To ze_lasta
'reinschreiben
  Print #1, "<Auftraege><Auftrags-Kurzz.>" & Cells(Zeile, 5) & "</Auftrags-Kurzz.>" & "<Kunden-Kurzz.>" & Cells(Zeile, 6) & "</Kunden-Kurzz.><Auftrags-Text>" & Cells(Zeile, 10) & "</Auftrags-Text></Auftraege>"
Next Zeile
 
For Zeile = 2 To ze_last
'reinschreiben
 
  Print #1, Cells(Zeile, 39)
Next Zeile
Print #1, "</DBData>"
 
Close #1    'Zieldatei schließen
 
 
 
Exit Sub
 
Fehler:
Close #1
    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
    & "Beschreibung: " & Err.Description _
    , vbCritical, "Fehler"
End Sub

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot XML_aus Excel
02.11.2017 08:34:24 Michael
NotSolved
02.11.2017 09:53:51 Gast70117
NotSolved