hlynlc
Goto Top

Wie entferne ich HTML Tags aus Excel Dateien?

Hallo,

ich habe eine Excel Datei (Excel 2010), welche ein Download einer HTML Seite ist. Daher beinhaltet sie viele HTML Tags, wie Sonderzeichen, etc. Nun habe ich gestern das Macro erstellt welches hier Sonderzeichen in Excel per Makro entfernen gepostet wurde.. Alles schön und gut, ABER face-smile da fallen z. B. bei <tag> die Sonerzeichen < > weg, aber 'tag' bleibt stehen.. Wie kann ich das am Besten lösen?

Vielen lieben Dank für eure Hilfe!!!


Liebe Grüße
Hülya

Content-ID: 211819

Url: https://administrator.de/contentid/211819

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

76109
76109 18.07.2013 um 12:27:09 Uhr
Goto Top
Hallo hlynlc!

Wie importierst Du die Html-Datei und ist das eine öffentliche Website?

Gruß Dieter
hlynlc
hlynlc 18.07.2013 um 13:07:06 Uhr
Goto Top
Hallo Dieter,

nein es ist keine öffentliche Seite, Zugriff nur für Berechtigte. Import erfolgt durch eine selbst erstellte GUI, in der die gewisse Daten in eine Excel Liste gelesen werden und dieser dann nur zum Speichern verfügbar ist.

Liebe Grüße
Hülya
76109
76109 18.07.2013 um 13:25:24 Uhr
Goto Top
Hallo hlynlc!

Und was hälst Du von der Möglichkeit, die Html-Datei temporär zu speichern und per Excel-QueryTable-Funktion als Tabelle zu importieren und gegebenenfalls wieder als Csv-Datei zu exportieren?

Gruß Dieter
hlynlc
hlynlc 18.07.2013 um 13:36:57 Uhr
Goto Top
Hallo,

ich habe gerade nicht viel Ahnung , wovon du sprichst.. Aber das Prozedere des Uploads zu ändern, wäre in meinem Fall zu aufwändig.. Meine Frage deutet eher mehr auf das wie oben im ersten Post geschildert, die Idee mit dem Makro. Gibt es hierzu keinen ähnlichen Ausweg?

Danke.

Liebe Grüße
Hülya
76109
76109 18.07.2013 um 13:53:29 Uhr
Goto Top
Hallo Hülya!

ich habe gerade nicht viel Ahnung , wovon du sprichst.. Aber das Prozedere des Uploads zu ändern, wäre in meinem Fall zu aufwändig.. Meine Frage deutet eher mehr auf das wie oben im ersten Post geschildert, die Idee mit dem Makro. Gibt es hierzu keinen ähnlichen Ausweg?

Ups, da habe ich wohl nicht richtig gelesenface-sad

Bin davon ausgegangen, dass die Html-Tags entfern werden sollen, aber sollen sie ja garnicht, insofern vergiss meine bisherigen Kommentareface-smile

Den Makro-Code schaue ich mir noch an und berichte, wenn mir was dazu einfällt...

Gruß Dieter
76109
76109 18.07.2013 aktualisiert um 14:34:27 Uhr
Goto Top
Hallo Hülya!

Wie groß wird den die Löschliste und gibt es dazu noch eine erlaubt/nichterlaubt-Liste für Sonderzeichen?

Gruß Dieter
hlynlc
hlynlc 18.07.2013 um 14:32:39 Uhr
Goto Top
Also die Excel Datei beinhaltet ca. 250 Zeilen, in der die Sonderzeichen gesucht und gelöscht werden sollten. Erlaubt sollten sein diese - () . , ; •
Alles andere soll und muss weg face-smile Aber wie schon erwähnt als Beispiel <div> - hier sollen zwar die Zeichen <> entfernt werden, aber auch die Buchstaben dazwischen.. Vielen lieben Dank!

Liebe Grüße
Hülya
76109
76109 18.07.2013 aktualisiert um 15:04:34 Uhr
Goto Top
Hallo

Zunächst mal ein Beispiel zum entfernen der Tags '<div>' und '<strong>'
Private Const sDelTags = "div,strong"    'Tag-Liste Kommagetrennt erweitern  

Public Sub DeleteTags()
    Dim aDelTags As Variant, vTag As Variant
    
    aDelTags = Split(sDelTags, ",")  
    
    For Each vTag In aDelTags
        Cells.Replace "<" & Trim(vTag) & ">", "", LookAt:=xlPart, MatchCase:=False  
    Next
End Sub

Mache eine Liste mit unerlaubten Sonderzeichen die gelöscht werden sollen, also genauso wie bei den Tags oder eine Liste mit Sonderzeichen, die durch andere ersetzt werden sollen z.B.:
"ä,ae,ü,ue"
wobei Du zum Löschen, das zweite Zeichen mit 0 angibst...

Gruß Dieter

[edit] Codezeile 9 geändert [/edit]
hlynlc
hlynlc 18.07.2013 um 15:17:40 Uhr
Goto Top
Hallo Dieter,

das hat prima funktioniert. Vielen lieben Dank!!
Da HTML Tags auch ein Ende haben face-smile enthält die Datei natürlich auch solche wie </div>
Ich versuche nur einwenig den Code zu verstehen, damit ich das ergänzen kann. Wird nicht viel anders gehen, oder? Sobald ich das dann habe, kann ich die Liste mit all den Tags erweitern, die gelöscht werden sollen.

Liebe Grüße
Hülya
76109
76109 18.07.2013, aktualisiert am 19.07.2013 um 07:56:02 Uhr
Goto Top
Hallo hlynlc!

Da HTML Tags auch ein Ende haben face-smile enthält die Datei natürlich auch solche wie </div>
Das war mir schon klarface-wink

Aber, die braucht man nicht in die Liste aufnehmen. Stattdessen einfach die Replace-Zeile kopieren und eine Zeile darunter einfügen und dann noch "<" durch "</" ersetzen...

Mit der Liste in Form "ü,ue", dann in etwa so:
Private Const sReplaceChar = "ä,ae,Ä,Ae,ö,oe,Ö,Oe,ü,ue,Ü,Ue"  

    '.....  
    
    aReplaceChar = Split(sReplaceChar, ",")	   'String in Array splitten  
    
    For i = 0 To UBound(aReplaceChar) Step 2    'Array in Zweierschritten auslesen  
        Cells.Replace Trim(aReplaceChar(i)), Trim(aReplaceChar(i + 1)), LookAt:=xlPart, MatchCase:=True
    Next

    '.....  
Wobei das Trim Leerzeichen entfernt, falls vorhandenface-wink

Gruß Dieter

[edit] Codezeile 8 (MatchCase:=False) geändert [/edit]
hlynlc
hlynlc 19.07.2013 um 08:13:28 Uhr
Goto Top
Hallo Dieter,

habe es inzwischen anders gelöst, habe in die delTags Variable einfach alle vorkommenden Html Tags auch die mit der Endung eingetragen. Und es klappt face-smile
Die Zeile ist zwar jetzt länger geworden, aber sie tut was sie soll..


Die Frage wurde somit gelöst. Vielen lieben Dank für die Unterstützung!!

Liebe Grüße
Hülya
76109
76109 19.07.2013 um 08:25:36 Uhr
Goto Top
Hallo Hülya!

Die Frage wurde somit gelöst. Vielen lieben Dank für die Unterstützung!!
Gerne dochface-wink

Und kennzeichne den Thread bitte noch als gelöst. Dankeface-wink


Gruß Dieter