von Stephan » Do, 10.12.2015 14:35
öffne eine neue, leere Calc-Datei und starte folgendes Makro:
Code: Alles auswählen
Sub Main
akt_ordner = "D:\ausgestellte Rechnungen\"
Dim par(0) As New com.sun.star.beans.PropertyValue
par(0).Name = "Hidden"
par(0).Value = True
i = 0
pfad = ConvertToURL(akt_ordner & "*ods")
rueckgabe = Dir$(pfad,0)
Do
If rueckgabe <> "." and rueckgabe <> ".." Then
ThisComponent.Sheets(0).getCellByPosition(0, i).String = akt_ordner & rueckgabe
tmp = StarDesktop.LoadComponentFromURL(ConvertToURL(akt_ordner & rueckgabe), "_blank", 0, par())
ThisComponent.Sheets(0).getCellByPosition(1, i).Value = tmp.Sheets(0).getCellRangeByName("Q53").Value
tmp.Close(True)
Wait 100 'Fokus auf Tabellenblatt
End If
rueckgabe = Dir$
i = i + 1
Loop Until rueckgabe = ""
ThisComponent.Sheets(0).getCellByPosition(1, i).Formula = "=SUM(B1:B" & i & ")"
Msgbox "Fertig."
End Sub
hierbei muss die Zeile:
vor dem Start des Makros so geändet werden das dort der gewünschte Ordner steht.
Das Makro trägt in Spalte A der ersten Tabelle der neuen Datei alle Dokumentnamen im Ordner ein und in Spalte B alle Werte aus den Q53-Zellen und bildet am Ende der Auflistung in Spalte B die Summe.
Berücksichtigt werden nur ods-Dateien im angegebenen Ordner in deren erster (oder einziger) Tabelle in Zelle Q53 ein WErt (kein Text) steht.
Gruß
Stephan
öffne eine neue, leere Calc-Datei und starte folgendes Makro:
[code]Sub Main
akt_ordner = "D:\ausgestellte Rechnungen\"
Dim par(0) As New com.sun.star.beans.PropertyValue
par(0).Name = "Hidden"
par(0).Value = True
i = 0
pfad = ConvertToURL(akt_ordner & "*ods")
rueckgabe = Dir$(pfad,0)
Do
If rueckgabe <> "." and rueckgabe <> ".." Then
ThisComponent.Sheets(0).getCellByPosition(0, i).String = akt_ordner & rueckgabe
tmp = StarDesktop.LoadComponentFromURL(ConvertToURL(akt_ordner & rueckgabe), "_blank", 0, par())
ThisComponent.Sheets(0).getCellByPosition(1, i).Value = tmp.Sheets(0).getCellRangeByName("Q53").Value
tmp.Close(True)
Wait 100 'Fokus auf Tabellenblatt
End If
rueckgabe = Dir$
i = i + 1
Loop Until rueckgabe = ""
ThisComponent.Sheets(0).getCellByPosition(1, i).Formula = "=SUM(B1:B" & i & ")"
Msgbox "Fertig."
End Sub[/code]
hierbei muss die Zeile:
[code]akt_ordner = "D:\ausgestellte Rechnungen\"
[/code]
vor dem Start des Makros so geändet werden das dort der gewünschte Ordner steht.
Das Makro trägt in Spalte A der ersten Tabelle der neuen Datei alle Dokumentnamen im Ordner ein und in Spalte B alle Werte aus den Q53-Zellen und bildet am Ende der Auflistung in Spalte B die Summe.
Berücksichtigt werden nur ods-Dateien im angegebenen Ordner in deren erster (oder einziger) Tabelle in Zelle Q53 ein WErt (kein Text) steht.
Gruß
Stephan