Formatierungen im Word-Dokument als Plain Text mit HTML Tags?

Diskutiere das Thema Formatierungen im Word-Dokument als Plain Text mit HTML Tags? im Forum Office Software

  1. saintpauli

    saintpauli Thread Starter Mitglied

    Beiträge:
    59
    Zustimmungen:
    1
    Mitglied seit:
    19.02.2008
    Servus.
    Ich pflege ab und zu ein CMS Redaktionssystem.

    Die Ausgangsdokumente erhalte ich in Word. Hier werden Formatierungen wie
    Fett, Kursiv und Liste benutzt, die entsprechend im CMS mit übernommen werden sollen.

    Derzeit muss ich den Text in das CMS kopieren und manuell die Formatierungen einfügen.
    Also als Beispiel Ich bin eine Überschrift wird zu <b>Ich bin eine Überschrift</b>

    Gibt es eine Möglichkeit diese "einfachen" Formatierungen <b>, <i>,<li> zu automatisieren und Formatierungen mit HTML Tags automatisch zu ersetzen?
    Entweder über Word (Macros?) oder gerne einem dritten Programm?

    Word speichert zwar das ganze auch als HTML, aber das ist schon wieder mit irgendwelchen Class, Tables, usw, die ich gar nicht brauche. Das ist mir schon wieder viel zu viel.

    Danke für eure Hilfe und Hinweise
     
  2. ruerueka

    ruerueka Mitglied

    Beiträge:
    1.163
    Zustimmungen:
    112
    Mitglied seit:
    04.04.2004
    Du könntest das word Dokument in Open Office öffnen und dann als HTML speichern.
    Open Office verwendet zwar auch styles, aber es erzeugt ein viel übersichtlicheres html als Word, d.h. du hast es erheblich schneller aufgräumt.
     
  3. saintpauli

    saintpauli Thread Starter Mitglied

    Beiträge:
    59
    Zustimmungen:
    1
    Mitglied seit:
    19.02.2008
    Naja...ob ich nun manuell die Tags hinzufüge oder überflüssigen Code entferne. Zeitlich wird sich das nicht viel geben. Und mir geht es ja um "Automatisierung" und damit Zeiterparnis...:p

    Vielleicht noch mal zur Verdeutlichung. Ich brauche keine HTML Seite.
    Also kein Header, tables, etc. selbst <br> sind nicht nötig.

    Das Endresultat ist einfach nur der Fließtext. Hier noch mal ein Beispiel.
    <b>Das ist die Überschrift</b>
    Und da gibt es normalen Text, aber auch mal <i>kursiven</i> oder <u> unterstrichenen</u> und ab und an auch mal
    <li>Listen</li>

    P.S. Im Notfall nehme ich auch eine PC Lösung, da das CMS nur im IE auf'n PC funktioniert (*kopfschüttel*) und ich das ganze unter Parallels bearbeite.
     
  4. ruerueka

    ruerueka Mitglied

    Beiträge:
    1.163
    Zustimmungen:
    112
    Mitglied seit:
    04.04.2004
    aus einem "sauberen" HTML kann man z.B. mit einer xsl Transformation den von dir gewünschten Textbaustein erzeugen.
    Damit wäre es dann automatisiert.
    Man kann natürlich auch ein Perl Programm schreiben und mit entsprechenden regulären Ausdrücken alles "suchen und ersetzen".
    Beide Techniken setzen voraus, dass entweder deine Transformationsbeschreibung irre flexibel ist oder der Ausgangscode immer recht ähnlich formatiert ist.
     
  5. saintpauli

    saintpauli Thread Starter Mitglied

    Beiträge:
    59
    Zustimmungen:
    1
    Mitglied seit:
    19.02.2008
    Was ist eine XSL Transformation und mit welchem Programm erzeugt man den? "Sauberes" HTML wäre dann zunächst über OpenOffice zu erstellen?

    Programmieren kann ich leider nicht. Also wäre ich selbst bei einem Word Makro auf Hilfe angewiesen. Suchen und Ersetzen funktioniert im klassischen Sinn nicht, da das formatierte Wort ja nicht ersetzt werden soll, sondern davor und dahinter ein Tag gesetzt werden muss.

    Der Ausgangscode ist immer ein Worddokument und am Ende ist der Text so wie in dem Beispiel. Kein Codeschnipsel mehr aber auch nicht weniger... ;)
     
  6. mikne64

    mikne64 Mitglied

    Beiträge:
    3.105
    Zustimmungen:
    92
    Mitglied seit:
    02.04.2004
    Hallo,

    habe hier gerade nur Word für Windows, aber Du könntest das Dokument als "nur Text" speichern.
    Wobei die Ideen von rueruka praktischer sind, erfordern zwar einmal mehr Arbeit doch könntest Du das Skript dann universell einsetzen.

    Viele Grüße
     
  7. Satome

    Satome Mitglied

    Beiträge:
    230
    Zustimmungen:
    15
    Mitglied seit:
    20.11.2006
    Nur mal eine Idee auf die Schnelle: Mach Dir ein Makro für jeden Fall, also fett, kursiv, unterstrichen - und lege die Makros auf eine Aktionsleiste

    Makro fett:

    strtext = Selection.Text
    strtext = "<b>" + strtext + "</b>"
    Selection.Text = strtext

    Du markierst den Text und klickst auf eines der Makros. Im genannten Beispiel wird der markierte Text vorne um "<b>" und hinten um "</b>" ergänzt. Für underline, kursiv etc. entsprechend den Makrotext ändern.

    Grüße,
    Ralph
     
  8. Gerundium

    Gerundium Mitglied

    Beiträge:
    2.001
    Zustimmungen:
    69
    Mitglied seit:
    22.10.2005
    Die gesuchte Konvertierung erschien mir nicht gerade außergewöhnlich, sodass es im Netz sicher einige fertige Lösungen geben sollte. Hier ist beispielsweise eine Lösung als VBA-Makro.

    An deine Anforderungen angepasst:
    Code:
    Sub Word2Wiki()
        Application.ScreenUpdating = False
        ConvertItalic
        ConvertBold
        ConvertUnderline
        ConvertLists
        ' Copy to clipboard
        ActiveDocument.Content.Copy
        Application.ScreenUpdating = True
    End Sub
    Private Sub ConvertBold()
        ActiveDocument.Select
        With Selection.Find
            .ClearFormatting
            .Font.Bold = True
            .Text = ""
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Forward = True
            .Wrap = wdFindContinue
            Do While .Execute
                With Selection
                    If InStr(1, .Text, vbCr) Then
                        ' Just process the chunk before any newline characters
                        ' We'll pick-up the rest with the next search
                  .Font.Bold = False
                        .Collapse
                        .MoveEndUntil vbCr
                    End If
                    ' Don't bother to markup newline characters (prevents a loop, as well)
                    If Not .Text = vbCr Then
                        .InsertBefore "<b>"
                        .InsertAfter "</b>"
                    End If
                    .Font.Bold = False
                End With
            Loop
        End With
    End Sub
    Private Sub ConvertItalic()
        ActiveDocument.Select
        With Selection.Find
            .ClearFormatting
            .Font.Italic = True
            .Text = ""
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Forward = True
            .Wrap = wdFindContinue
            Do While .Execute
                With Selection
                    If InStr(1, .Text, vbCr) Then
                        ' Just process the chunk before any newline characters
                        ' We'll pick-up the rest with the next search
                        .Font.Italic = False
                        .Collapse
                        .MoveEndUntil vbCr
                    End If
                    ' Don't bother to markup newline characters (prevents a loop, as well)
                    If Not .Text = vbCr Then
                        .InsertBefore "<i>"
                        .InsertAfter "</i>"
                    End If
                    .Font.Italic = False
                End With
            Loop
        End With
    End Sub
    Private Sub ConvertUnderline()
        ActiveDocument.Select
        With Selection.Find
            .ClearFormatting
            .Font.Underline = True
            .Text = ""
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Forward = True
            .Wrap = wdFindContinue
            Do While .Execute
                With Selection
                    If InStr(1, .Text, vbCr) Then
                        ' Just process the chunk before any newline characters
                        ' We'll pick-up the rest with the next search
                        .Font.Underline = False
                        .Collapse
                        .MoveEndUntil vbCr
                    End If
                    ' Don't bother to markup newline characters (prevents a loop, as well)
                    If Not .Text = vbCr Then
                        .InsertBefore "<u>"
                        .InsertAfter "</u>"
                    End If
                    .Font.Underline = False
                End With
            Loop
        End With
    End Sub
     Private Sub ConvertLists()
       Dim para As Paragraph
        For Each para In ActiveDocument.ListParagraphs
            With para.Range
                .InsertBefore "<li>"
                .InsertAfter "</li>"
                .ListFormat.RemoveNumbers
            End With
        Next para
    End Sub
     
  9. saintpauli

    saintpauli Thread Starter Mitglied

    Beiträge:
    59
    Zustimmungen:
    1
    Mitglied seit:
    19.02.2008
    Wow...vielen Dank für das editierte Makro.

    Ich würde es ja gerne ausprobieren. Aber mit Alt+F11 erhalte ich nur die Ton-Systemeinstellungen. Auch den Haken bei den Tastatureinstellungen "Die Tasten F1, F2 als Standard-Funktionstasten verwenden" hat keinen Erfolg (es passiert nix). :confused:

    Ich verwende Word 2008 und die Apple USB Tastatur.
     
  10. Gerundium

    Gerundium Mitglied

    Beiträge:
    2.001
    Zustimmungen:
    69
    Mitglied seit:
    22.10.2005
    Die Beschreibung auf der Seite gilt für Word unter Windows. Aber die Makro-Geschichte ist sowieso hinfällig geworden, da du Word 2008 benutzt, dem Microsoft die VBA-Fähigkeiten nicht auf seinen Lebensweg mitgab.
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...