Mehrere Dateien zusammenfügen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Mehrere Dateien zusammenfügen

Re: Mehrere Dateien zusammenfügen

von crush » Di, 11.06.2013 12:03

Hallo,

dankeschön. Geht wunderbar. Habs noch von "getByIndex" auf "getByName" geändert, dass es dann wirklich eindeutig ist, nicht dass noch jemand die Reihenfolge der Tabellen vertauscht. Werde aber wahrscheinlich sowieso die Option "Dokument schützen" dann hat sich der Punkt schonmal erledigt.

Gruß crush

Re: Mehrere Dateien zusammenfügen

von bst » Mo, 10.06.2013 17:35

Hi,

das funktioniert wohl so wie in Excel, die gerade aktive Tabelle wird exportiert. Es scheint also auszureichen diese nach dem Öffnen zu wechseln.

Code: Alles auswählen

         oSheet = oWorkbook.Sheets.getByIndex(0)
         oWorkbook.getCurrentController.setActiveSheet(oSheet)
HTH, Bernd

Re: Mehrere Dateien zusammenfügen

von crush » Mo, 10.06.2013 14:17

Hallo,

ich musste nun auf Wunsch dem ersten Tabellenblatt mit den Daten auch ein zweites Blatt mit einem Datenpiloten zur Auwertung anhängen. Bei der Konvertierung in die CSV soll aber nur das erste Tabellenblatt berücksichtigt werden. Nun schein er aber immer das Blatt zu greifen, in dem vor dem Speichern zuletzt gearbeitet wurde. Gibt es einen Filter für storeAsUrl, der mir nur ein explizites Tabellenblatt konvertiert, oder ist diese Methode nur sicher, wenn die ODS-Datei nur aus einem Tabellenblatt besteht?

Gruß crush

Re: Mehrere Dateien zusammenfügen

von crush » Di, 21.05.2013 08:18

Moin,

so, Shell("C:\....") hat funktioniert, hatte jetzt auch den Aufruf im Handbuch gefunden.

Schönen Wochenstart

Gruß crush

Re: Mehrere Dateien zusammenfügen

von bst » Fr, 17.05.2013 13:42

Hi,

Lasse mal den cmd /c weg, warum auch immer?

Code: Alles auswählen

shell "e:\test\test.bat"
funktioniert hier. Oder nimm ShellExecute.

Siehe: http://forum.openoffice.org/en/forum/vi ... 20&t=14220

cu, Bernd

Re: Mehrere Dateien zusammenfügen

von crush » Fr, 17.05.2013 12:58

Hallo, habe jetzt

Code: Alles auswählen

Shell("cmd /c" & sbatStr)
eingefügt. Aber es passiert nicks, kommt aber auch keine Fehlermeldung. Liegt es daran, dass ich vorher erst die Datei an diesen Ort hinkopiere und sie somit zur Laufzeit noch nicht bekannt ist?

Gruß crush

Re: Mehrere Dateien zusammenfügen

von bst » Fr, 17.05.2013 12:52

Hi,

versuche das mal mit shell, ggf. mit Shell("cmd /c PfadUndNameDerBatch")

Und ebenfalls ein schönes Wochenende,

Bernd

Re: Mehrere Dateien zusammenfügen

von crush » Fr, 17.05.2013 12:33

Hallo, eine kleine Frage hätte ich noch. Wie kann ich aus dem Makro heraus die Batchdatei starten? Der Pfad ist bekannt, aber mit SimpleFileAccess und openFileRead komme ich nicht wirklich weiter.

Gruß zum Wochenende
crush

Re: Mehrere Dateien zusammenfügen

von crush » Fr, 17.05.2013 07:54

Danke, dass keiner geholfen hat. (keine Ironie!) Die Lösung stand ja schon da... Und mit ein wenig suchen habe ich das draus gemacht:

Code: Alles auswählen

 batStr = Left(sCurURL, Len(sCurURL) - Len(FileNameOutOfPath(sCurURL))) & "join.bat"

Re: Mehrere Dateien zusammenfügen

von crush » Do, 16.05.2013 14:42

Danke, das hilft schonmal weiter. Die PDF der Übersetzung hatte ich sogar schon, aber das DOC mit den Makros ist natürlich schön zum nachschlagen.

Ich versuche gerade die URL des Dokumentes zu ermitteln, von dem aus das Makro gestartet wurde. Nachdem ich ein wenig gelesen hatte, dachte ich das würde folgendermaßen funktionieren:

Code: Alles auswählen

[...]
Dim oCurDok As Object
Dim sCurURL As String

oCurDok = ThisComponent
sCurURL = oCurDok.getURL()
Print sCurURL
[...]
aber ich bekommen nur "Eigenschaft oder Methode nicht gefunden: getURL", die sollte es aber doch geben, oder seh ich das falsch? Muss ich dazu irgendwelche Libaries laden? getURL() funktioniert doch nur bei "Dokument-Komponenten" aber ich dachte, dass mit "oCurDok = ThisComponent" das oCurDok zum Dokument wird...

EDIT: Mit

Code: Alles auswählen

StarDesktop.getCurrentComponent().getURL()
hats funktioniert...


EDIT2: Wie kann ich denn jetzt von dem erhaltenen Pfad die Datei hinten abschneiden und eine neue Datei anhängen?

Re: Mehrere Dateien zusammenfügen

von bst » Do, 16.05.2013 10:20

Hi,

und bitteschön, gerne.

Lies mal das erste Thema hier im Forum, Stephan's "Informationen zur StarBasic-Programmierung", da findest Du viele Hinweise.

Ich lese außerdem in Foren mit und habe mir das Buch Makros in OpenOffice.org 3 von Thomas Krumbein zugelegt.

http://www.amazon.de/Makros-OpenOffice- ... 3836214385

Ansonsten hilft neben Google auch noch X-Ray.

http://forum.openoffice.org/en/forum/vi ... 20&t=54217

Wenn Du Basic nicht magst könntest Du auch Python benutzen.

cu, Bernd

Re: Mehrere Dateien zusammenfügen

von crush » Do, 16.05.2013 09:06

Danke vielmals. Klappt wunderbar (habs mit in die letzte "main" eingebaut). Wo finde ich denn eine Zusammenfassung über Funktionen und deren mögliche Parameter, z.B. "createUnoService("com.sun.star.ui.dialogs.FolderPicker")" Wenn man sowas nicht vorgesetzt bekommt, finde ich es nach meiner derzeitigen Informationslage sehr schwierig, auf sowas selbst zu kommen. Ich habe damals ein Komplettes Auswertungstool mit GUI in Matlab programmiert und bin recht fit in C++, SQL, JAVA usw. aber mit StarBasic werd ich irwi nicht so richtig warm... In Matlab konnte ich einen Editor öffnen, habe eine Funktion oder ein Suchwort eingegeben, und habe alle nötigen Infos zu functions bekommen, die ich brauchte um damit klar zu kommen. Alle Makros (z.B. auch DB Abfragen aus einem Tabellenblatt heraus) habe ich mir hier oder anderswo aus dem Netz zusammenkopiert, das kanns ja nicht gewesen sein, würde da gern mehr draus machen.

Gruß crush

Re: Mehrere Dateien zusammenfügen

von bst » Do, 16.05.2013 08:50

Morgen,

Ich habe das mit der Startzeile nicht probiert. Möglicherweise betrifft das nur das Einlesen einer CSV-Datei.

Zur Auswahl eines Verzeichnisses versuche mal so etwas.

cu, Bernd
--

Code: Alles auswählen

Sub TestIt
   Dim sFolder As String
	
	sFolder = PickFolder("c:\")
	if len(sFolder) > 0 then
		Print sFolder
	end if
End Sub

Function PickFolder(cFolder)
   oFolderPickerDlg = createUnoService("com.sun.star.ui.dialogs.FolderPicker")
   If Len(cFolder) > 0 Then
      oFolderPickerDlg.setDisplayDirectory(ConvertToURL(cFolder))
   EndIf
   oFolderPickerDlg.execute()
   cPickedFolder = oFolderPickerDlg.getDirectory()
   
   PickFolder = ConvertFromURL(cPickedFolder)
End Function 

Re: Mehrere Dateien zusammenfügen

von crush » Do, 16.05.2013 08:20

Moin, neuer Tag, neue Idee.

Kann ich eigentlich die Zeile "sSrcURL = convertToURL("e:\test\ooo\")" dadurch ersetzen, dass ich zur Laufzeit nach dem Pfad gefragt werde, wo die zu verbindenden Dateien liegen? Habe schon was versucht, mit dem Dateiauswahl-Steuerelement, aber ich kries nicht hin, an die Datei, die ausgewählt wurde, heranzukommen. Die Auswahl im Tabellenblatt vor dem Start des Makros würde mir auch reichen. Die Dokumentation bringt mich auch nicht so wirklich weiter, übersichtlich ist anders.

Gruß crush

Re: Mehrere Dateien zusammenfügen

von crush » Mi, 15.05.2013 14:22

Mhh, da hätte ich auch selbst drauf kommen können, das noch zu probieren. Der Fehler war, dass alle.csv nicht in den selben Ordner darf. Jetzt klappts wie es soll.

Danke für die Hilfe.

Der Parameter 4 für die Startzeile bringt bei mir keine Änderung. Soll das die Startzeile sein, bei der angefangen wird, die ODS zu konvertieren, und alle vorher werden ignoriert?

Gruß crush

Nach oben