Wie OpenOffice / Excel Sheet befüllen?
Wie OpenOffice / Excel Sheet befüllen?
Hallo,
ich möchte von einer PB Anwendung aus Textdaten in ein OpenOffice Tabellenblatt einfügen. Also gezielt einzelne Zellen mit Daten befüllen.
Hat damit jemand Erfahrung und kann mir sagen wie der Datentransfer realisiert werden kann? Über den Import einer CSV Datei funktioniert es zwar, aber ich möchte die Daten gerne ohne weitere Schritte in das Tabellenblatt übertragen.
Vermutlich realisiert man das mit DDE, aber dazu fehlt mir noch der logische und programmtechnische Ansatz.
Bin für Hinweise die mich weiterbringen dankbar.
Gruß Kurzer
ich möchte von einer PB Anwendung aus Textdaten in ein OpenOffice Tabellenblatt einfügen. Also gezielt einzelne Zellen mit Daten befüllen.
Hat damit jemand Erfahrung und kann mir sagen wie der Datentransfer realisiert werden kann? Über den Import einer CSV Datei funktioniert es zwar, aber ich möchte die Daten gerne ohne weitere Schritte in das Tabellenblatt übertragen.
Vermutlich realisiert man das mit DDE, aber dazu fehlt mir noch der logische und programmtechnische Ansatz.
Bin für Hinweise die mich weiterbringen dankbar.
Gruß Kurzer
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: Wie OpenOffice / Excel Sheet befüllen?
schau Dir hierfür mal die Excel-Funktionssammlung von Falko an:
http://www.purebasic.fr/german/viewtopi ... =8&t=23254
Grüße ... Peter
http://www.purebasic.fr/german/viewtopi ... =8&t=23254
Grüße ... Peter
Hygge
Re: AW: Wie OpenOffice / Excel Sheet befüllen?
Hallo Kiffi,
Besten Dank für den Link. Das sieht sehr viel versprechend aus!
Bin leider gerade unterwegs, werde das gleich nutzen, sobald ich wieder am heimischen Rechner bin.
Besten Dank für den Link. Das sieht sehr viel versprechend aus!
Bin leider gerade unterwegs, werde das gleich nutzen, sobald ich wieder am heimischen Rechner bin.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: Wie OpenOffice / Excel Sheet befüllen?
Leider funktioniert das COMatePlus offenbar nicht mit OpenOffice zusammen - oder ich stell mich zu dumm an.
Mir würde auch schon reichen, wenn ich die Daten so in die zwischenablage bekomme, dass Sie in Calc/Excel mittels paste direkt in die verschiedenen Zellen kopiert werden. Momentan wird der gesamte String "A;B;C;D" in eine Zelle geschrieben, statt in vier Zellen.
Weiß hierzu jemand eine Lösung? Wenn ich mehrere Zellen direkt in Calc markiere und per copy/paste an anderer Stelle einfüge, dann werden die Daten auch in mehrere Zellen kopiert. Von daher denke ich, dass die Daten in einem bestimmten Format in der Zwischenablage vorliegen müssen, um auf mehrere Zellen verteilt zu werden.
Edit: Manches ist doch einfacher als man denkt. Es reicht, wenn die Strings, die in unterschiedlichen Zellen landen sollen, durch TAB $09 getrennt sind. Zeilenwechsel dann mit #LF#CR oder #LF. Juhu.
"Apfel" TAB "Birne" LF
"Banane" TAB "Kiwi" LFCR
Mir würde auch schon reichen, wenn ich die Daten so in die zwischenablage bekomme, dass Sie in Calc/Excel mittels paste direkt in die verschiedenen Zellen kopiert werden. Momentan wird der gesamte String "A;B;C;D" in eine Zelle geschrieben, statt in vier Zellen.
Weiß hierzu jemand eine Lösung? Wenn ich mehrere Zellen direkt in Calc markiere und per copy/paste an anderer Stelle einfüge, dann werden die Daten auch in mehrere Zellen kopiert. Von daher denke ich, dass die Daten in einem bestimmten Format in der Zwischenablage vorliegen müssen, um auf mehrere Zellen verteilt zu werden.
Edit: Manches ist doch einfacher als man denkt. Es reicht, wenn die Strings, die in unterschiedlichen Zellen landen sollen, durch TAB $09 getrennt sind. Zeilenwechsel dann mit #LF#CR oder #LF. Juhu.
"Apfel" TAB "Birne" LF
"Banane" TAB "Kiwi" LFCR
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: Wie OpenOffice / Excel Sheet befüllen?
Kannst auch ne HTML-Tabelle in die Zwischenablage packen, wenn du formatieren willst
Code: Alles auswählen
<table>
<tr><td style="background-color:red"><b>Apfel</b></td><td style="background-color:yellow">Birne</td></tr>
<tr><td style="background-color:yellow">Banane</td><td style="background-color:green; border:1px solid black">Kiwi</td></tr>
</table>
Signatur und so
Re: Wie OpenOffice / Excel Sheet befüllen?
mea culpa! Ich habe Deine Anfrage nicht richtig gelesen und bin bei den Begriffen 'Tabellenblatt', 'Zellen' und 'CSV automatisch davon ausgegangen, dass Du mit Excel arbeitest.Kurzer hat geschrieben:Leider funktioniert das COMatePlus offenbar nicht mit OpenOffice zusammen - oder ich stell mich zu dumm an.
Sorry & Grüße ... Peter
Hygge
Re: Wie OpenOffice / Excel Sheet befüllen?
@Kiffi, kein Ding, ist nix passiert. Ich war ja auch nicht am Bombe entschärfen und wollte wissen blauer Draht oder roter Draht.
@Derren: Danke für den Hinweis, das mit dem HTML Format kannte ich auch nicht nicht.
@Derren: Danke für den Hinweis, das mit dem HTML Format kannte ich auch nicht nicht.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: Wie OpenOffice / Excel Sheet befüllen?
Hast Du schon die Beispiele von romel ausprobiert, die mit COMatePLUS ein OpenOffice Calc-Tabellenblatt erstellen und als ODS-Datei (1.Posting) und Excel-Datei (2.Posting) abspeichern? Ich kann es selbst momentan nicht ausprobieren, weil ich gerade mit MacOS X arbeite...
Re: Wie OpenOffice / Excel Sheet befüllen?
Ja, ich bin da weiter am Ball, aber die Thematik "COM" ist mir zu komplex. Für das richtige Verständnis kann ich mich derzeit nicht intensiv genug mit der Programmierung beschäftigen.
Das Beispiel von Rommel habe ich ausprobiert, aber hier bekomme ich Fehlermeldungen bei der Compilierung mit COMatePlus 1.2
Ich habe das ganze dann mal mit PB 4.61 kompiliert. Hier wurden "nur noch" zwei Strukturen in "VariantHelper_Include.pb" als "bereits deklariert" angemeckert:
Structure SAFEARRAYBOUND und Structure SAFEARRAY
Wenn ich die auskommentiere, dann kann ich mit PB 4.61 zwar kompilieren, aber folgende Codestelle aus Rommels Beispiel wird dann immer mit False geprüft und demzufolge der ganze Code im "IF oSM" nicht ausgeführt.
So ganz komme ich mit vollautomatischen Übergabe an OpenOffice also nicht weiter.
Leider finde ich im Netz auch keine Beispiele, wie man ein OpenOffice Sheet aus einer anderen Programmiersprache füllen kann. Zumindest keines, das das dann über WinAPI macht.
Das Beispiel von Rommel habe ich ausprobiert, aber hier bekomme ich Fehlermeldungen bei der Compilierung mit COMatePlus 1.2
Ich habe das ganze dann mal mit PB 4.61 kompiliert. Hier wurden "nur noch" zwei Strukturen in "VariantHelper_Include.pb" als "bereits deklariert" angemeckert:
Structure SAFEARRAYBOUND und Structure SAFEARRAY
Wenn ich die auskommentiere, dann kann ich mit PB 4.61 zwar kompilieren, aber folgende Codestelle aus Rommels Beispiel wird dann immer mit False geprüft und demzufolge der ganze Code im "IF oSM" nicht ausgeführt.
Code: Alles auswählen
oSM = COMate_CreateObject("com.sun.star.ServiceManager")
If oSM
;Creating instance of Desktop
oDesk = oSM\GetObjectProperty("CreateInstance('com.sun.star.frame.Desktop')")
If oDesk
;Opening a new calc Document
[...]
Leider finde ich im Netz auch keine Beispiele, wie man ein OpenOffice Sheet aus einer anderen Programmiersprache füllen kann. Zumindest keines, das das dann über WinAPI macht.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: Wie OpenOffice / Excel Sheet befüllen?
Offen, also echtzeit? Ansonsten ist es doch nur XML gezippt. Muss man sich reinfuchsen, aber denke einzelne Zellen ansprechen sollte machbar sein.
Signatur und so