Wie OpenOffice / Excel Sheet befüllen?

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kurzer »

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
"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.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kiffi »

schau Dir hierfür mal die Excel-Funktionssammlung von Falko an:

http://www.purebasic.fr/german/viewtopi ... =8&t=23254

Grüße ... Peter
Hygge
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: AW: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kurzer »

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.
"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.
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kurzer »

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
"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.
Derren
Beiträge: 557
Registriert: 23.07.2011 02:08

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Derren »

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
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kiffi »

Kurzer hat geschrieben:Leider funktioniert das COMatePlus offenbar nicht mit OpenOffice zusammen - oder ich stell mich zu dumm an.
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. :oops:

Sorry & Grüße ... Peter
Hygge
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kurzer »

@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.
"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.
Benutzeravatar
Shardik
Beiträge: 738
Registriert: 25.01.2005 12:19

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Shardik »

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...
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Kurzer »

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.

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 
      [...]
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.
"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.
Derren
Beiträge: 557
Registriert: 23.07.2011 02:08

Re: Wie OpenOffice / Excel Sheet befüllen?

Beitrag von Derren »

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
Antworten