tolwyn
Goto Top

.doc in .odt konvertieren

Hallo

Wie kann ich folgendes Projekt realisieren:

Ich habe auf meinem Rechner unzählige Word-Dokumente im .doc-Format und möchte diese ins .odt-Format umwandeln.

Allerdings ist eine einfache Dateierweiterungsänderung bspw. per Batch nicht möglich.

Der grobe Ablauf des Programmes dürfte wohl folgender sein:


- Die Datei muss wohl in irgendeiner Form "eingelesen"(geöffnet) werden

- Danach muss die Datei "konvertiert" werden und

- unter .odt abgespeichert werden.


Dabei möchte ich natürlich nicht jedesmal jede Datei einzeln angeben, sondern ähnlich wie bei Batch ein Verzeichnis angeben und bestimmen, dass *.doc in "Name_des_Dokumentes.odt" umgewandelt wird.

Ist glaube ich ein relativ fortgeschrittenes Projekt...


Mit welchen Programmiersprachen ist dies möglich? Wäre Visual Basic Net eine Anlaufstelle dafür?

Oder noch besser für den Anfang:
Gibt es hier jemanden, der so etwas programmieren kann oder eine hinweisführende Anleitung geben kann, so dass ich mir es im Laufe der Zeit vielleicht selber erarbeiten kann.

Danke

Gruß

Tolwyn

Content-Key: 52630

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

Printed on: April 19, 2024 at 17:04 o'clock

Mitglied: 36539
36539 Feb 25, 2007 at 22:37:30 (UTC)
Goto Top
hallo,

Wozu benötigst Du dazu ein extra Tool?
Du kannst die *.doc ganz normal in OpenOffice öffnen und convertierst/speicherst sie dann als *.odt ab. Ein vorheriges Konvertieren ist nicht nötig.

lies mal den Abschnitt 3 Dateimanagment
Direkt-Download
http://de.openoffice.org/doc/oooauthors/dateimanagement_in_ooo.pdf

oder global von hier: http://de.openoffice.org/doc/howto_2_0/index.html

gruß
onegasee59
Member: Biber
Biber Feb 26, 2007 at 06:46:21 (UTC)
Goto Top
oder den StarOffice 8 Conversion Technology Preview 1.0 vom 16.2.2007 runterladen, testen und Rückmeldung an das Forum geben.. face-wink
Member: Tolwyn
Tolwyn Feb 26, 2007 at 13:11:54 (UTC)
Goto Top
Hallo

@36539 :

face-big-smile das wäre natürlich eine Lösung, allerdings wollte ich das umgehen, da ich keine Lust habe ca 100 oder mehr Worddokumente manuell in Open Office zu öffnen und dann neu als .odt abzuspeichern.
Ich möchte das ganze automatisiert ablaufen lassen. Also stark vereinfach ausgedrückt:
Einmal den Pfad angeben, in dem sich die Dokumente befinden, dann auf einen "OK"-Button klicken und dann soll das von alleine ablaufen.

@Biber:

Wie gerade nochmal beschrieben : Ich suche sozusagen ein "Massenkonvertierungsprogramm";
StarOffice 8 Conversion Technology Preview 1.0 ist laut Beschreibung von http://www.chip.de/downloads/c1_downloads_24293087.html
folgendes:

Mit dem Plug-in "StarOffice 8 Conversion Technology Preview" können in Word 2003 Dateien   

 im OpenDocument-Format (ODF) geöffnet und bearbeitet werden. 

 
Nach der Installation dieser Vorabversion des "StarOffice 8 Conversion Technology Preview"    
ist es möglich, Dateien im StarOffice- bzw. OpenOffice-Format (ODF) in Microsoft Word zu 
öffnen, zu bearbeiten und zu speichern. Zusätzlich kann ODF als Standard-Format 
eingestellt werden.


Hinweis: Die Preview-Version funktioniert bisher nur mit Microsoft Office Word 2003. Da 
es sich um eine Beta-Version handelt, können derzeit noch vereinzelt Fehler auftreten.
Member: Tolwyn
Tolwyn Mar 12, 2007 at 18:23:07 (UTC)
Goto Top
hallo

nein leider nicht.

Ich werd wohl nicht drumherum kommen den ganzen Haufen .doc DAteien in .odt per Hand umzuformatieren, außer jemand anders, den ich kenne,weiß da vielleicht noch Rat - das wart ich noch ab.

Falls ich irgendwann noch ne Lösung finde, werd ich wohl nen neuen Thread eröffnen als Tutorial oder so.

Gruß

Tolwyn
Member: Tolwyn
Tolwyn Jul 20, 2007 at 11:05:28 (UTC)
Goto Top
Hallo

ich habe eine Lösung, allerdings kann ich es nicht in Open Office umsetzen. (MS VBA Einsteiger)

Der Lösungsansatz geht tatsächlich in die Richtung, die onegasse59 vorgeschlagen hat, allerdings doch etwas komfortabler über einen einzigen Klick.
Einfach ein Makro erstellen, welches automatisch den Pfad, Dateinamen und das Format wählt.
Mit dem Makrorekorder bekommt man das relativ guthin, allerdings fehlt da noch die Feinanpassung, dass er den Dateinamen ausliest.
Hier das OpenOffice Makro


sub Save_as
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")  

rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"  
<b> args1(0).Value = "file:///E:/Files/neu.odt" </b>  
args1(1).Name = "FilterName"  
args1(1).Value = "writer8"  
args1(2).Name = "SelectionOnly"  
args1(2).Value = true

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())  


end sub

Die fertige Version des Makros unter MS VBA sähe wohl in etwa so aus:


Option Explicit

Sub autoopen()

'Dieses Makro liest den Dateinamen des aktuellen Dokumentes aus und speichert ihn an einem beliebigen Ort im Format .txt wieder ab.  



' Variable für das aktive Worddokument  
Dim objdoc As Word.Document

' Variablen zum Auslesen des Dateinamens  
Dim docname As String
Dim get_char As String
Dim output As String
Dim i As Integer


Set objdoc = ActiveDocument

docname = objdoc.name

    If Right(docname, 4) = ".doc" Then  


        ' Die For-Schleife sucht den Dateinamen heraus;  
        ' Der Dateiname darf keine "." enthalten, sonst wird vorzeitig abgebrochen.  
        
        For i = 1 To Len(docname)
        
            get_char = Mid(docname, i, 1)
            
            If get_char = "." Then  
            
                output = output
            
                Exit For
            
            Else
            
                output = output & get_char
            
            End If
            
        Next i
        ' Der Ordner zum Speichern ist das Laufwerk E:  
        ' Um die Datei im Ursprungspfad zu speichern, muss die Zeile  
        ' ChangeFileOpenDirectory "E:\" auskommentiert bzw. gelöscht werden.  
        ' Der Dateiname setzt sich aus dem Dateinamen (output) und der Dateiendung .txt zusammmen  
        ' Der gewählte Dateityp ist ein einfaches Textformat.  
        ' die übrigen Angaben sind optional und haben mit dem Projekt wenig zu tun.  
        
'        ChangeFileOpenDirectory "E:\"  
        ActiveDocument.SaveAs FileName:=output & ".txt", FileFormat:=wdFormatText, _  
        LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _  
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _  
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False
    
    
    Else
    
        
    End If





End Sub


Soweit ich das sehe, benötigt man die entsprechenden Befehle, um den Pfad zum Speichern und den Dateinamen auszulesen.

Insgesamt also muss dieser Block hier ersetzt werden:

' ChangeFileOpenDirectory "E:\"
ActiveDocument.SaveAs FileName:=output & ".txt", FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False

Das Makro aus MS Word startet automatisch, sobald die Dateiendung ein ".doc" enthält

Wie man ein Makro in OpenOffice automatisch startet, wäre auch nicht schlecht zu wissen.

Wäre nett, wenn das jemand anpassen würde oder zumindest die benötigten Objekte,Methoden und Eigenschaften mit kurzer Erklärung bereitstellen könnte.

Gruß

Tolwyn
Member: Tolwyn
Tolwyn Jul 26, 2007 at 11:48:51 (UTC)
Goto Top
Hallo

ich habe eine Lösung gefunden:

So etwas wurde schon programmiert und ist mindestens in OpenOffice 2.0 (wenn nicht dann in OO 2.2 )implementiert.

Datei -> Assistenten -> Dokumentenkonverter


Gruß

Tolwyn