Planmaker - Zeilenumbrüche im Text funktionieren nicht über die API

Antworten
MHE
Beiträge: 15
Registriert: 08.01.2023 16:25:34

Planmaker - Zeilenumbrüche im Text funktionieren nicht über die API

Beitrag von MHE »

Wenn ich im Planmaker über die API Text in Zellen schreibe, werden die Zeilenumbrüche nicht ordentlich übernommen.
Selbst wenn man eine Zelle kopiert, funktioniert das nicht.

Ich habe mal zum Test in einer Tabelle in Zelle A2 einen Text mit Zeilenumbruch geschrieben (über die PM GUI) und die Datei gespeichert.

Dann öffne ich die Tabelle über die API und schreibe den Inhalt von Zelle A2 in Zelle A3:

PMSheet.Cells.Item[3, 1].Value := PMSheet.Cells.Item[2, 1].Value;

und speichere die Datei wieder über die API.

Das Ergebnis ist dieses hier:

Bild

Zelle A2 (über GUI ausgefüllt) behält den Zeilenumbruch, Zelle A3 (über die API ausgefüllt) hat keinen Zeilenumbruch mehr, stattdessen ein Platzhalter-Zeichen.

Wenn ich den Zeilenumbruch in Zelle A2 abfrage, wird mir ein CHR(10), also ein normales Linefeed, zurückgeliefert. Wenn ich selber Linefeeds setze, werden die nicht übernommen, sondern in diese Viereck-Platzhalter umgewandelt.

Lässt sich das Problem lösen? Wir haben hier oft mehrzeilige Texte, die wir per API aktualisieren möchten.

Bin für jeden Hinweis dankbar.
miguel-c
SoftMaker Team
SoftMaker Team
Beiträge: 1255
Registriert: 05.06.2019 12:04:28

Re: Planmaker - Zeilenumbrüche im Text funktionieren nicht über die API

Beitrag von miguel-c »

Hallo, könnten Sie uns bitte die BasicMaker-Datei schicken, die Sie verwenden?
Sie können sie hier posten oder per E-Mail an forum(at)softmaker.de schicken (dann bitte die Thread-Nummer in der E-Mail angeben: 33615)
MHE
Beiträge: 15
Registriert: 08.01.2023 16:25:34

Re: Planmaker - Zeilenumbrüche im Text funktionieren nicht über die API

Beitrag von MHE »

Ich verwende die Planmaker-COM-API aus Delphi heraus, nicht aus dem BasicMaker.

Also z.B. so:

PMApp := CreateOleObject('PlanMaker.Application');
PMApp.Workbooks.Add;
PMSheet := PMApp.Workbooks[PMApp.Workbooks.Count].Sheets[1];
PMSheet.Cells.Item[1, 1].Value := 'aaa'#10'bbb';
PMApp.ActiveWorkbook.SaveAs('c:\test.pmdx');
PMApp.Workbooks.Close;
PMApp.Quit;
PMApp := Unassigned;

Beim Zuweisen von:

PMSheet.Cells.Item[1, 1].Value := 'aaa'#10'bbb';

sollte zwischen 'aaa' und 'bbb' eigentlich ein Zeilenumbruch zu sehen sein, aber das funktioniert nicht.
miguel-c
SoftMaker Team
SoftMaker Team
Beiträge: 1255
Registriert: 05.06.2019 12:04:28

Re: Planmaker - Zeilenumbrüche im Text funktionieren nicht über die API

Beitrag von miguel-c »

Ich glaube, Sie müssen die Eigenschaft wordwrap der Zelle aktivieren, damit der Zeilenumbruch etwas bewirkt.
MHE
Beiträge: 15
Registriert: 08.01.2023 16:25:34

Re: Planmaker - Zeilenumbrüche im Text funktionieren nicht über die API

Beitrag von MHE »

Super Hinweis :D

Die Eigenschaft heißt allerdings nicht "wordwrap" (die kennt das Automatisierungsobjekt nicht) sondern "WrapText". Wenn ich die auf true setze, funktioniert es wie gewünscht. War nach Ihrem Hinweis dann leicht zu finden 8)

Vielen Dank!
Antworten

Zurück zu „PlanMaker 2021 für Windows“