von 12dis02424 » Sa, 26.02.2011 08:39
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
Hallo paljass,
das Makro habe ich hier bei openoffice.info gefunden und sieht wie folgt aus.
[code]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
[/code]
Ich habe mir das Makro schon soweit angepasst, nur das halt nicht die Formate übernommen werden.
Vielen Dank
Norman