Seite 1 von 1
Logik-/Semantikplugin für Openffice oder MS-Office?
Verfasst: 26.06.2007, 22:47
von Andreas I.
Guten Abend,
ich überarbeite gerade einen Text von einem Kunden in Richtung SEO. Mühselige Sache, das Ganze.
Gibt es eigentlich ein plugin für MS-Word oder OOo-Writer, mit dem der Kunde, bzw. das Schreibbüro schon während der Texterstellung Zugriff auf alle/so viele wie möglich Logik- und Semantikmöglichkeiten von HTML hat? Also ich stelle mir da einfach zusätzliche Formate in Richtung <dfn> <abbr> <caption> und die vielen anderen HTML-Feinheiten vor. Von MS-Office weiss ich, dass man sich mittels z.B. Formatvorlagen sehr viel selber definieren kann. Mit OpenOffice hab ich mich bisher noch nicht so richtig beschäftigt, nehme aber an, dass da auch sowas gehen müsste..?
Gibts sowas schon? Ab- und zu ist so eine Arbeit ja eine willkommene Wiederauffrischung der HTML-Syntax. Aber mehr als einmal im Quartal will ich sowas eigenlich nicht unbedingt machen, gerade bei längeren Texten! ...Und daher die Frage nach dem plugin...
Verfasst: 27.06.2007, 11:20
von WilliWusel
Am einfachsten geht das vermutlich über ein (aufgezeichnetes) Word-Makro, das bestimmte Formatierungen/Markierungen gegen HTML austauscht. Hab ich mir auch mal gebastelt, um Texte aus/für Foren gegen richtiges HTML tauschen zu können.
Verfasst: 27.06.2007, 13:14
von WilliWusel
So, hier ist das Makro, fast selbsterklärend:
Code: Alles auswählen
Sub Board2HTML()
' Dieses Makro konvertiert die von mir gebrauchten Board-Codes in HTML.
' Absatzmarken:
Selection.Find.Format = False
With Selection.Find
.Text = "^a" ' ab Word2000 p wie Paragraph statt a wie Absatz
.Replacement.Text = "<br>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Fettdruck ein:
With Selection.Find
.Text = "[b]"
.Replacement.Text = "<b>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Fettdruck aus:
With Selection.Find
.Text = "[/b]"
.Replacement.Text = "</b>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
' EMail-Tags:
With Selection.Find
.Text = "\[email=(*)\](*)\[/email\]"
.Replacement.Text = "<a href=""mailto:\1"">\2</a>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Links:
With Selection.Find
.Text = "\[url=(*)\](*)\[/url\]"
.Replacement.Text = "<a href=""\1"">\2</a>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Bilder:
With Selection.Find
.Text = "\[img\](*)\[/img\]"
.Replacement.Text = "<img src=""\1"">"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Liste ein:
With Selection.Find
.Text = "[list=1]"
.Replacement.Text = "<ol>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Einzelne Listenelemente:
With Selection.Find
.Text = "\[\*\] (*)^13"
.Replacement.Text = "<li>\1</li>^13"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
' Liste aus:
With Selection.Find
.Text = "[/list]"
.Replacement.Text = "</ol>"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Im Prinzip kannst Du Dir auch eigene Tags basteln und in der Symbolleiste ablegen. Jedem dieser Tags sollte dann ein Makro zugewiesen werden, das einen bestimmten Austausch durchführt. Das folgende Makro z.B. schließt den
markierten Text in <x> </x> ein:
Code: Alles auswählen
Sub MarkierungErsetzen()
Selection.Find.Format = False
With Selection.Find
.Text = Selection.Text
.Replacement.Text = "<x>^&</x>"
.Forward = False
.Wrap = wdFindStop
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceOne
End Sub
Für andere Tags muss nur der Text hinter Replacement.Text ausgetauscht werden.
Verfasst: 27.06.2007, 14:28
von Andreas I.
Danke dafür!