Forums Neueste Beiträge
 

Exceltabelle - Import in FP2003 und Formatierung der Tabell mit

04/01/2008 - 10:55 von Günther D | Report spam
Servus
Ich möchte eine umfangreiche Tabelle aus Excel in FP einfügen. Auf der Seite
stehen dann im Code für jede Zelle die Formatierungen.
CSS müsste doch jetzt durch eine einmalige Definition der Formatierungen das
auch können und damit den Quellcode um ein Vielfaches reduzieren.
Wie geht das? Von Hand die Formatierungen der Zellen entfernen ist reine
Sklavenarbeit..
Danke im voraus

Günther Dietzinger
 

Lesen sie die antworten

#1 Christoph Schneegans
04/01/2008 - 21:58 | Warnen spam
"Günther D" schrieb:

Ich möchte eine umfangreiche Tabelle aus Excel in FP einfügen. Auf der Seite
stehen dann im Code für jede Zelle die Formatierungen.
CSS müsste doch jetzt durch eine einmalige Definition der Formatierungen das
auch können und damit den Quellcode um ein Vielfaches reduzieren.



Mittels "Bearbeiten > Ersetzen... > HTML-Tags" kannst du bspw. die "style"-
Attribute von "[Allen Tags]" entfernen. Du kannst die Aktion auch so modifizieren,
daß nur Elemente innerhalb von

<table id="table...">...</table>

bearbeitet werden, dann sollte der Rest der Seite nicht beeinflußt werden. Dazu

<?xml version="1.0" encoding="utf-8" ?>
<fpquery version="1.0">
<queryparams inhtml="true" />
<find tag="[Alle Tags]">
<rule type="insideTag" tag="table">
<rule type="attribute" attribute="id" compare="contains" value="table" />
</rule>
</find>
<replace type="removeAttribute" attribute="style" />
</fpquery>

als .fpq-Datei speichern und dann im o.g. Dialog laden.

Für eine richtige Automatisierung kannst du bspw. dieses VBA-Makro
verwenden:

Public Sub Formatierungen_Entfernen()

Dim elm As IHTMLElement
Dim i As Integer
Dim j As Integer

'"Böse" Elemente definieren.
Dim c As New Collection
c.Add "font"
c.Add "o:p"
c.Add "span"
c.Add "b"

With ActiveDocument

'"Böse" Elemente löschen.
For i = 1 To c.count
For j = 0 To .all.tags(c.item(i)).length - 1
.all.tags(c.item(i)).item(0).outerHTML = .all.tags(c.item(i)).item(0).innerHTML
Next
Next

'Überflüssige Attribute löschen. Der zweite Parameter gibt an, daß
'Groß- und Kleinschreibung nicht unterschieden werden sollen.
For Each elm In .all
elm.removeAttribute "style", False
elm.removeAttribute "class", False
elm.removeAttribute "align", False
elm.removeAttribute "cellspacing", False
elm.removeAttribute "cellpadding", False
elm.removeAttribute "border", False
elm.removeAttribute "valign", False

If elm.tagName <> "img" Then
elm.removeAttribute "height", False
elm.removeAttribute "width", False
End If
Next

End With

End Sub

Mit Alt+F11 den VBA-Editor starten, dort ein neues Modul (kein Klassenmodul)
einfügen, den Code einfügen und mit F5 starten. Du kannst problemlos
weitere Elemente oder Attribute definieren, die gelöscht werden sollen.

<http://schneegans.de/frontpage/faq/> · Die hàufigsten Fragen zu FrontPage

Ähnliche fragen