Seite 1 von 1
Daten aus XLS in ODS importieren aber Format beibehalten
Verfasst: Sa, 26.02.2011 02:29
von 12dis02424
Hallo,
ich bin neu in diesem Forum und seit einigen Stunden auf der Suche im Netz nach der Lösung für folgendes Problem.
Ich möchte mit einem Makro eine Excel Tabelle in eine ODS Tabelle importieren aber das Format der Exceltabelle soll beibehalten werden.
(Farbig, verschiedene Schriftarten, Gruppierungen ....usw)
Ich habe hier zwar ein tolles Makro zum importieren gefunden allerdings werden die Formatierungen nicht übernommen.
Kann mir einer bitte helfen ????
Vielen Dank
Norman
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Verfasst: Sa, 26.02.2011 08:39
von 12dis02424
Hallo paljass,
das Makro habe ich hier bei openoffice.info gefunden und sieht wie folgt aus.
Code: Alles auswählen
Sub Main
Dim sPath, fullPath, iVal, iResult As String
Dim r as Integer
Dim oDocument, thisDoc, oSheet, ocell1, oVal, oSrcRange, oDstRange as Object
' Start und Endposition fuer CellRangeByPosition festlegen
CRBP_L = 0 ' CellRangeByPosition Links Spalte A
CRBP_O = 1 ' CellRangeByPosition Oben Zeile 1
CRBP_R = 13 ' CellRangeByPosition Rechts Spalte N
CRBP_U = 801 ' CellRangeByPosition Unten Zeile 801
sPath = "c:\Dokumente und Einstellungen\user\Desktop\Test" & getpathseparator 'Ort der die Dateien enthält >> Pfad anpassen!
r = 1 'Startwert Zeile setzen
sFileName = Dir$(sPath & getPathSeparator() & "*", 0)
' Do
fullPath = converttourl(sPath & sFileName)
sFileName = Dir$
'folgend Quelldokument im Hintergrund öffnen
dim myFileProp(0) as New com.sun.star.beans.PropertyValue
myFileProp(0).name = "Hidden"
myFileProp(0).value = true
oDocument = StarDesktop.loadComponentFromURL(fullPath, "_blank", 0, myFileProp())
'Werte aus Quelldokument lesen
oSheet = oDocument.sheets(0) 'erstes Tabellenblatt des Quelldokumentes
oSrcRange = osheet.getCellRangeByPosition(CRBP_L,CRBP_O,CRBP_R,CRBP_U) 'Spalte A , Zeile 1, Spalte N, Zeile 801
oDataArray = oSrcRange.getDataArray
'Werte in das Zieldokument schreiben
thisDoc = thisComponent 'Zieldokument ansprechen
oSheet = thisDoc.sheets(0) 'erstes Tabellenblatt der Zieldatei
oDstRange = osheet.getCellRangeByPosition(CRBP_L,CRBP_O,CRBP_R,CRBP_U) 'Spalte A , Zeile 1, Spalte N, Zeile 801
oDstRange.setDataArray(oDataArray)
redim myFileProp
oDocument.close(true) 'Quelldokument schliessen
' Loop Until sFileName = ""
msgbox "Fertig !!!" ,64 , "Dateien auslesen"
End Sub
Ich habe mir das Makro schon soweit angepasst, nur das halt nicht die Formate übernommen werden.
Vielen Dank
Norman
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Verfasst: Sa, 26.02.2011 18:36
von turtle47
Hallo Norman,
12dis02424 hat geschrieben:nur das halt nicht die Formate übernommen werden
Das funktioniert leider nicht mit getDataArray und setDataArray.
Damit werden nur Werte und Text kopiert, also keine Formeln und Formate.
Wenn Du Formate mit kopieren willst musst Du das über die Kopierfunktion (Zwischenablage) machen.
Beigefügt mal ein Beispiel aus meiner Grabbelkiste in dem ein Zellbereich in ein neues Dokument kopiert wird.
Vielleicht kannst Du damit was anfangen.
Viel Erfolg.
Jürgen
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Verfasst: So, 27.02.2011 16:41
von Gert Seler
Hallo Norman,
OOo_Calc importiert generell " *.xls oder *.xlsx " Dateien mit Doppelklick . Auch "VBA-Makros" werden importiert und mit "Hochkomma" ( ' ) in "Text"
gewandelt.
Bedingte Formatierungen von "xls" können nicht angezeigt werden, da die "
Bedingte Formatierung" in "OOo_Calc" anders erstellt werden.
Siehe :
http://www.ooowiki.de/CalcFormatBedingt
Als
"Extension" gibt es ein Makro "
mottco" mit dem mehr als 3Farben gargestellt werden.
Siehe hier :
http://www.calc-info.de/makros.htm
Ich hoffe das hilft Dir weiter, sonst wende Dich an das Forum : OOo_Basic / Java (siehe Forumsübersicht)
mfg
Gert
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Verfasst: Fr, 08.04.2011 22:49
von 12dis02424
Hallo,
vielen Dank für die Lösungsansätze.
Ich mache es jetzt einfach über Einfügen und Tabelle einfügen.
Viele Grüßr