von turtle47 » So, 31.10.2010 07:45
uwanoremin hat geschrieben: Leider habe ich nicht's brauchbares im Netz gefunden, immer nur die Aussage, dass das nicht mit mehreren Dateien geht.
Wo hast Du denn eigentlich diesen Blödsinn gelesen
uwanoremin hat geschrieben: kann ich den Wert denn auch als Integer auslesen
damit was machen und dann nur als Wert (Zahl oder Text, oder...) in eine neue Tabelle schreiben
Ja, das geht so:
Code: Alles auswählen
Sub Main
Dim sPath, fullPath As String
Dim r , iResult as Integer
Dim oDocument, thisDoc, oSheet, ocell1 as Object
sPath = "D:\Dein Ordner" & 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())
'folgend Wert aus Quelldokument lesen und Wert berechnen
oSheet = oDocument.sheets(0) 'erstes Tabellenblatt des Quelldokumentes
iVal = osheet.getCellRangebyName("A5").value 'Integerwert auslesen
iResult = iVal * 5 'Berechnung
'folgend berechneten Wert in das Zieldokument schreiben
thisDoc = thisComponent 'Zieldokument ansprechen
oSheet = thisDoc.sheets(0) 'erstes Tabellenblatt der Zieldatei
ocell1 = osheet.getCellByPosition(0,r)'Spalte A , Zeile r
ocell1.value = iResult 'berechneten Wert eintragen
r = r + 1 'Zeile hochzählen
redim myFileProp
oDocument.close(true) 'Quelldokument schliessen
Loop Until sFileName = ""
msgbox "Der Vorgang ist abgeschlossen" ,64 , "Dateien auslesen"
End Sub
Jürgen
[quote="uwanoremin"] Leider habe ich nicht's brauchbares im Netz gefunden, immer nur die Aussage, dass das nicht mit mehreren Dateien geht.
[/quote]
Wo hast Du denn eigentlich diesen Blödsinn gelesen :?:
[quote="uwanoremin"] kann ich den Wert denn auch als Integer auslesen
damit was machen und dann nur als Wert (Zahl oder Text, oder...) in eine neue Tabelle schreiben
[/quote]
Ja, das geht so:[code]Sub Main
Dim sPath, fullPath As String
Dim r , iResult as Integer
Dim oDocument, thisDoc, oSheet, ocell1 as Object
sPath = "D:\Dein Ordner" & 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())
'folgend Wert aus Quelldokument lesen und Wert berechnen
oSheet = oDocument.sheets(0) 'erstes Tabellenblatt des Quelldokumentes
iVal = osheet.getCellRangebyName("A5").value 'Integerwert auslesen
iResult = iVal * 5 'Berechnung
'folgend berechneten Wert in das Zieldokument schreiben
thisDoc = thisComponent 'Zieldokument ansprechen
oSheet = thisDoc.sheets(0) 'erstes Tabellenblatt der Zieldatei
ocell1 = osheet.getCellByPosition(0,r)'Spalte A , Zeile r
ocell1.value = iResult 'berechneten Wert eintragen
r = r + 1 'Zeile hochzählen
redim myFileProp
oDocument.close(true) 'Quelldokument schliessen
Loop Until sFileName = ""
msgbox "Der Vorgang ist abgeschlossen" ,64 , "Dateien auslesen"
End Sub[/code]
Jürgen