Seite 1 von 1
CALC: Dateien eines Ordners auswerten
Verfasst: Mi, 07.11.2012 17:14
von style2104
Hallo zusammen,
ich hoffe ich bin hier richtig.
Ich speichere meine Rechnungen als ods in einen Datumsordner ab.
Als konkretes Beispiel ist der Pfad bei mir:
\\DISKSTATION\Geschäft\GESCHAEFT\datum\2.11
Jetzt fallen bei mir am 2.11 beispielsweise 8 Rechnungen an, bei denen immer an der gleichen Stelle der Gewinn ausgewiesen wird.
Kann ich in diesen Ordner einen Datei einfügen die alle im Ordner stehenden Dateien auswertet?
Wenn ja kann ich dann diese Datei kopieren und im nächsten Ordner verwenden, beispielsweise 06.11.
Die Werte aus diesen Dateien kann ich händisch übertragen, es ist mir also egal wenn die Datei die im Ordner 6.11
die Daten aus dem Ordner 2.11 nicht weiß.
Danke schon mal für eure Hilfe
Werner
Re: Dateie eines Ordners Auswerten
Verfasst: Mi, 07.11.2012 17:35
von Karolus
Hallo
Ich würde nachmittags einen neuen Ordner anlegen
Karolus
Re: Dateien eines Ordners Auswerten
Verfasst: Do, 08.11.2012 15:35
von style2104
Mir würde es halt darum gehen nicht alle 20-30 Dokumente am Abend nochmals
öffnen zu müssen, sondern die Werte der verschiedenen Dateien per Makro abzufragen.
MfG
Werner
Re: Dateien eines Ordners Auswerten
Verfasst: Do, 08.11.2012 16:56
von komma4
style2104 hat geschrieben:sondern die Werte der verschiedenen Dateien per Makro abzufragen.
[
Moderation, 4]Mein Stichwort: verschoben in BASIC-Unterforum.
Bin mir relativ sicher, dass es mit Formeln nicht geht.
Re: Dateien eines Ordners Auswerten
Verfasst: Do, 08.11.2012 17:54
von Karolus
Hallo
style2104 hat geschrieben:Mir würde es halt darum gehen nicht alle 20-30 Dokumente am Abend nochmals
öffnen zu müssen, sondern die Werte der verschiedenen Dateien per Makro abzufragen.
Ich hatte schon deinen Ausgangspost so interpretiert - ich halte es aber grundsätzlich für den verkehrten Ansatz, viele zusammengehörende Daten in Einzeldokumenten abzuspeichern und quasi hinterher wieder einzusammeln.
Machs
andersrum gib die Daten zentral in eine Datenbank ein, (notfalls tuts auch ein Tabellendokument) und erzeuge die Rechnungen als Serienbriefdokumente.
Karolus
Re: CALC: Dateien eines Ordners auswerten
Verfasst: Do, 08.11.2012 18:15
von style2104
aktuell schauts bei mir gerade so aus das ich für jeden Kunden ein Dokument anlege.
Diese Dokumente greifen per Sverweis auf meine zentrales Tabellendokument zu, wo Artikel EK VK usw.
hinterlegt sind.
Ich komme soweit eigentlich sehr gut damit zurecht.
Vor allem finde ich die Rechnungen wenn ich sie unter dem Datum speichere sehr schnell wieder.
Ich kann auch bei jedem Kunden die Preise manuell angleichen was mit einer DB schon etwas komplizierter
werden dürfte oder?
MfG
Werner
Re: CALC: Dateien eines Ordners auswerten
Verfasst: Do, 08.11.2012 20:39
von Karolus
Hallo
Ein erster Entwurf:
Code: Alles auswählen
# -*- coding: utf_8 -*-
from glob import glob
context = XSCRIPTCONTEXT
def get_data_from_folder( event=None ):
doc = context.getDocument()
sel = doc.getCurrentSelection()
date = sel.String
path = r'\\DISKSTATION\Geschäft\GESCHAEFT\datum\%s\*.ods'.decode('utf8') % date
formula = """='file://%s'#Tabelle1.A1"""
sheet = sel.getSpreadsheet()
icol = sel.RangeAddress.StartColumn
irow = sel.RangeAddress.StartRow
formulas = [(formula % f,) for f in glob( path )]
endrow = len(formulas) + irow -1
outrange = sheet.getCellRangeByPosition(icol, irow, icol, endrow)
outrange.setFormulaArray( tuple( formulas ))
Das Script erstellt Formelverknüpfungen in alle .ods Dateien zur Zelladdresse '
Tabelle1.A1' im eingetragenen Pfad + Datumsstring aus der aktuell selektierten
Zelle und schreibt die Formeln in die Spalte einschliesslich und unterhalb der selektierten Zelle.
Dok mit eingebettetem Script und Schaltfläche hängt an.
Karolus
Re: CALC: Dateien eines Ordners auswerten
Verfasst: Do, 08.11.2012 21:54
von style2104
Ich trau mich es ja gar nicht zu sagen, aber
wo muss ich den Code implementieren?
Ich hab bisher noch sehr wenig mit Makros geschweige denn Java gemacht.
Ich hab bisher die Datei gespeichert und ein paar Test Dateien mit Werten in Tabelle A1 angelegt
Eine Auswertung ist aber leider nicht erfolgt.
Re: CALC: Dateien eines Ordners auswerten
Verfasst: Fr, 09.11.2012 09:31
von Karolus
Hallo
Noch ein paar kleine Anpassungen, damits hoffentlich auch unter Windows läuft:
Code: Alles auswählen
from glob import glob
import uno
url_path = uno.systemPathToFileUrl
context = XSCRIPTCONTEXT
def get_data_from_folder( event=None ):
doc = context.getDocument()
sel = doc.getCurrentSelection()
date = sel.String #letzter Unterordner-name
path = r'\\DISKSTATION\Geschäft\GESCHAEFT\datum\%s\*.ods'.decode('utf8') % date
formula = """='%s'#Tabelle1.A1"""
sheet = sel.getSpreadsheet()
icol = sel.RangeAddress.StartColumn
irow = sel.RangeAddress.StartRow
formulas = [(formula % url_path(f),) for f in glob( path )]
endrow = len(formulas) + irow -1
outrange = sheet.getCellRangeByPosition(icol, irow, icol, endrow)
outrange.setFormulaArray( tuple( formulas ))
Es ist nicht Java sondern
Python-code.
Probier das erstmal aus dem angehängten Dokument heraus.
Der Basispfad
\\DISKSTATION\Geschäft\GESCHAEFT\datum\ ist so im Script eingetragen - stimmt der ?
Wenn du die Testdateien in einem Unterordner .../
5.11/ liegen hast musst du das so als Text in eine Zelle eintragen, diese Zelle auswählen und die Schaltfläche betätigen.
Wenn es nicht funktioniert, teil doch bitte mit ob es eine Fehlermeldung gibt, wenn ja welche, oder ob in den Zellen ein #REF! -fehler ausgegeben wird.
Karolus
Re: CALC: Dateien eines Ordners auswerten
Verfasst: Fr, 09.11.2012 13:21
von style2104
Hi,
Vielen Dank schon mal für die Mühe die du dir gibst.
Wenn ich oben im Explorer die Adresse kopiere kommt das hier:
\\DISKSTATION\Geschäft\GESCHAEFT\datum\5.11
Sollte also passen.
Wenn ich aber in deinem Dokument das Datum eingebe, dann meine Eingabe nochmals per Mausklick auswähle
und im Anschluss auf die Schaltfläche klicke passiert leider gar nichts.
Irgendwas mach ich Falsch. Muss ich die Makros noch irgendwo einbetten?
Danke Werner