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
Daten aus XLS in ODS importieren aber Format beibehalten
Moderator: Moderatoren
-
- *
- Beiträge: 16
- Registriert: Sa, 26.02.2011 02:20
-
- *
- Beiträge: 16
- Registriert: Sa, 26.02.2011 02:20
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Hallo paljass,
das Makro habe ich hier bei openoffice.info gefunden und sieht wie folgt aus.
Ich habe mir das Makro schon soweit angepasst, nur das halt nicht die Formate übernommen werden.
Vielen Dank
Norman
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
Vielen Dank
Norman
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Hallo Norman,
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
Das funktioniert leider nicht mit getDataArray und setDataArray.12dis02424 hat geschrieben:nur das halt nicht die Formate übernommen werden

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
- Dateianhänge
-
- Tabelle Dokument kopieren.ods
- (15.05 KiB) 54-mal heruntergeladen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- *******
- Beiträge: 1763
- Registriert: Di, 03.10.2006 18:05
Re: Daten aus XLS in ODS importieren aber Format beibehalten
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
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
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Win7_64 / LO_4.4.5.2
-
- *
- Beiträge: 16
- Registriert: Sa, 26.02.2011 02:20
Re: Daten aus XLS in ODS importieren aber Format beibehalten
Hallo,
vielen Dank für die Lösungsansätze.
Ich mache es jetzt einfach über Einfügen und Tabelle einfügen.
Viele Grüßr
vielen Dank für die Lösungsansätze.
Ich mache es jetzt einfach über Einfügen und Tabelle einfügen.
Viele Grüßr