*.sdc to *.xls die 2te

Hallo!

Habe einen Kunden der noch StarOffice 4.0 hat. Er wollte jetzt aber auf Office 2003 wechseln und seine StarOffice Dateien mitnehmen.

StarOffice bietet die Möglichkeit die *.sdc Datei im xls-Format zu speichern, aber das ist zu aufwendig. Es sind an die 250 Dateien die hier einzeln im anderen Format gespeichert werden müssten.

Kennt jemand einen sdc zu xls konverter? (Google-Suche hat bei mir nicht wirklich etwas ergeben)

@ Reinhard: Du hast mir ja schon mal Hilfe beim erstellen eines Makros angeboten, aber der Artikel ist schon im Archiv verschwunden. Ich hätte die Dateien jetzt da. Die du als Beispiel brauchst…

Vielen Dank für hilfreiche Antworten,

Ben

@ Reinhard: Du hast mir ja schon mal Hilfe beim erstellen
eines Makros angeboten, aber der Artikel ist schon im Archiv
verschwunden. Ich hätte die Dateien jetzt da. Die du als
Beispiel brauchst…

Hi Ben,
du meinst
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…
schick sie nicht mir, sondern lade sie hoch da können auch andere dir helfen.
Hochladen z.B. bei http://www.badongo.com
Gruß
Reinhard

Hi Ben,
du meinst
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…
schick sie nicht mir, sondern lade sie hoch da können auch
andere dir helfen.
Hochladen z.B. bei http://www.badongo.com
Gruß
Reinhard

Ja Reinhard,
den Thread mein ich.
Hier der Link zu den File bei badongo.com

http://www.badongo.com/file/282688

freue mich auf antwort…

OpenOfffice Makro

http://www.badongo.com/file/282688

Hi Ben,
ich habe da massivste Schwierigkeiten ein Makro in OO zu erzeugen, wenn ich es mit Makro–Aufzeichnen probiere, finde ich das erzeugte irgendwie nicht:frowning: Aber okay, muss mich da wohl mal erstmal einarbeiten.
Vielleicht kein anderer dir ein OO-Makro basteln was zuindest eine sdc-Datei öffnet und als xls-Datei abspeichert. Dies müßte man dann halt in eine Schleife über alle sdc-Dateien umbauen, müßte ich hinkriegen können, aber nichts genaues weiß man nicht :smile:
Alternativ, du hast doch Starcalc, nachfolgend ist ein Code für Starwriter, der sdw-Dateien in doc-Dateien umwandelt.
Ich kann es nicht testen ohne Starwriter, probiere es halt mal aus. Es ist sehr gut beschrieben. dEshalb müßte falls es läuft, eine Anpassung dass es sdc in xls wandelt mölich sein.
Weiterhin, es soll in Starcalc einen Menüpunkt Autopilot geben, so wie ich das kapiert hat müßte der eine Batchverarbeitung anbieten zum Konvertieren.
Der Code stammt von Werner,
http://www.wernerroth.de/staroffice/index.html
Da gibt es auch Links zu Staraoffice-Foren.

Im letzten Notfall, abeerr erst dann, weil ungefragt anmailen ist so ne Sache die oft mit gutem Grund nicht gern gesehen wird, wenn dies Forum es nicht schafft dies Problem zu lösen, könntest du ihn ja noch nett anmailen.
Gruß
Reinhard

'Werner Roth 
'Konvertiert StarWriter-Dokumente in das WinWord-Format
'Nach Angabe eines Verzeichnisses werden alle darin liegenden ".SDW"-Dokumente
'in das Winword-Format konvertiert. dazu wird ein Unterverzeichnis "Konverte" angelegt.
'Durch Änderung der Suffixe und Filternamen zu beginn des Quellcodes können beliebige
'Dokumente hin- und her konvertiert werden.

'Vielleicht produziere ich noch eine Dialog-Version, bei der man dann Quelle und Ziel
'auswählen kann.

Sub OpenAndConvert
 'Durch ändern der Suffixe für Quell- und Zieldatei, sowie des Filternamens kann dieses 
 'Makro beliebiges konvertieren.
 'An den Filternamen kommt man, durch
 '-Dokument öffnen
 '-Makro Aufzeichnung starten
 '-Datei|Speichern unter
 '-Makro Aufzeichnung beenden und den generierten Code anschauen
 Const cSourceSuffix = ".sdw"
 Const cDestSuffix = ".doc"
 Const cConvertFilterName = "swriter: MS WinWord 6.0"
 '"swriter: MS WinWord 6.0" ist (in StarOffice 5.x gleich "swriter: MS Word 95" und "swriter: MS Word 97"
 'Andere Suffixe/Filter
 '".sdw", "swriter: StarWriter 5.0"
 '".html", "swriter: HTML (StarWriter)"
 '".txt", "swriter: Text"
 '".rtf", "swriter: Rich Text Format"
 Dim StrSourcePath As String
 Dim StrConvertPath As String
 Dim StrActFileName As String
 Dim oDocument As Object

 'Alle Dokumente eines Verzeichnisses werden konvertiert. Das Ausgangsverzeichnis kann beliebig
 'voreingestellt werden:
 StrSourcePath = Application.DefaultFilePath 'Application.PathSettings.Work
 StrSourcePath = InputBox("Gib einen Pfad an, in dem sich die StarWriter-Dokumente befinden." & chr(13) &\_
 "Diese werden dann nach MS Word 6.0/95/97 konvertiert und in ein" & chr(13) &\_
 "Unterverzeichnis ""Konverte"" geschrieben!", \_
 "Konvertieren von StarWriter-Dokumenten ", \_
 StrSourcePath)

 'Prüfe ob das Verzeichnis existiert, falls ja ergibt Dir(StrSourcePath,16) "."
 If Dir(StrSourcePath,16) = "" Then
 MsgBox("Der Pfad """ & StrSourcePath & """ existiert nicht!", 16, "Fehler")
 Exit Sub
 End If

 'Lege ein Zielverzeichnis an, dies ist ein Unterinhaltsverzeichnis Namens "Konverte"
 'Prüfe dazu, ob es schon da ist. Falls nicht lege es an.
 StrConvertPath = StrSourcePath & GetPathSeparator() & "Konverte"
 If Dir(StrConvertPath,16 )= "" Then
 MkDir(StrConvertPath)
 End If
 '\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
 'Nun geht's los! Arbeite jede Datei, die in diesem Verzeichnis liegt ab
 'Die aktuell bearbeitete Datei ist "StrActFileName"

 StrActFileName = Dir(StrSourcePath & GetPathSeparator() & "\*" & cSourceSuffix, 0)

 If StrActFileName = "" Then
 MsgBox("Im Pfad """ & StrSourcePath & """ befindet sich kein """ & \_
 cSourceSuffix & """-Dokument!", 16, "Fehler")
 Exit Sub
 End If

 'Fehlerbehandlung übernehme ich selbst, damit ich im Falle eines Fehlers den 
 'Sanduhr-Cursor wieder ausschalten kann
 On Local Error Goto ErrorLabel
 Application.EnterWait() 'Sanduhr-Cursor ein
 Do
 'Öffne das Dokument und zwar versteckt "H". Das geht schneller und flackert nicht auf dem Bildschirm.
 oDocument = Documents.Open(StrSourcePath & GetPathSeparator() & StrActFileName,,"H" )
 'Nun warte mal schön bis das Dokument geladen ist
 Do While oDocument.IsLoading or oDocument.IsLoadingImages
 Wait 100
 Loop
 'Warte noch ein kleines bisschen, damit sich StarWriter richtig initialisieren kann
 Wait 100

 'Dokument ist geladen, nun speichere es im gewünschten Format 
 oDocument.SaveAs(StrConvertPath & GetPathSeparator() & \_
 NameWithoutSuffix(StrActFileName) + cDestSuffix, \_
 cConvertFilterName, "", "" )
 'mach das Dokument wieder zu...
 oDocument.Close(False, "")
 '...und hole dir den nächsten Dateinamen
 StrActFileName = Dir()
 'Solange bis nichts mehr da ist
 Loop Until StrActFileName = "" 
 Application.LeaveWait() 'Sanduhr-Cursor aus
 'Raus hier! Wir wollen nicht in die Fehlerbehandlung abgleiten
 Exit Sub
 ErrorLabel:
 Application.LeaveWait() 'Sanduhr-Cursor aus
 'Keine Ahnung was hier alles passiert sein könnte, also gib eine generierte Fehlermeldung aus.
 MsgBox("Beim Konvertieren von Dokumenten" & chr(13) &\_
 "trat folgende Fehlermeldung auf:" & chr(13) &\_
 Error() & chr(13) &\_
 "Fehler Nr.: " & Err() , 16,\_
 "Unbekannter Fehler")
End Sub

Function NameWithoutSuffix(StrFileName As String) As String
'Schneide das Suffix ab. Wir wollen ja aus dem Dokument
'MeinDokument.sdw -- MeinDokument.doc machen
 Dim i As Integer
 'Schaue von rechts nach links nach, bis du einen "." findest.
 For i = Len( StrFileName ) To 1 Step -1
 If Mid( StrFileName, i, 1 ) = "." Then
 NameWithoutSuffix = Mid(StrFileName, 1, i - 1)
 Exit Function
 End If
 Next i
 'Falls kein "." drin war gib den alten String zurück
 NameWithoutSuffix = StrFileName
End Function

Hallo Reinhard!

Erstmal DANKE für die Hilfe bis hierher. Wär natürlich stark wenn du das noch rauskriegst mit dem Makro. Ich werd mich jetzt auch mal ein bisschen damit auseinander setzen.

Kannst du mir noch bitte verraten wie ich den von dir geposteten Quellcode nutzen muss? Editor öffnen und als *.vbs abspeichern?

mfg

Ben

Kannst du mir noch bitte verraten wie ich den von dir
geposteten Quellcode nutzen muss? Editor öffnen und als *.vbs
abspeichern?

Hi Ben,
keine Ahnung wie das in Starwriter geht mit Makros.
Vielleicht am einfachsten, SW wird ja auch makroaufzeichnung kennen, einfach ein Makro aufzeichene, darin eifach nur Text in Starwriter eingeben oder so. Dann Aufzeichnung beenden und in den Makros bzw dem vbaEditor nach diesem Makro suchen, listen lassen, den aufgezeichneten Code löschen und meinen Code da reinkopieren.
Zum Üben ein paar sdw-Dateien in ein Testverzeicnhnis stellen und das Makro mal laufen lassen.
Wenn das funktioniert, musst du nur noch imCode 3 Scahen ändern, den Filternamen, doc in xls, sdw in sdc. Und dann diesen Code in StarCalc ausprobieren.
Gruß
Reinhard