Daten aus Array nach Zwischenablage entladen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist ausgeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Daten aus Array nach Zwischenablage entladen

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » So, 10.11.2019 20:36

Hallo Stephan,
a)wenn ich entsprechend deinem Programmbaustein ein Arrayelement als bold machen wollte dann müsste ich wie vorgehen?
Geht das als Eigenschaft von CharFontName oder muss ich da .executeDispatch(ccf,".uno:Bold","",0,args3()) machen.
Wie lauten dann die Einträge für .Name und .Value?
Natürlich muss ich die fetten und nicht fetten Arrayelement getrennt behandeln und zum Schluss wieder zusammensetzen.

b) Gibt es tiefergehende Informationen zu den folgenden Uno-"Dingsbums oder Services????" und wie Name und value belegt werden können?
.uno:CharFontName
.uno:FontHeight
.uno:Grow
.uno:Shrink
.uno:Bold
.uno:Italic
.uno:Underline
.uno:Strikeout
.uno:SuperScript
.uno:SubScript
.uno:Color
.uno:BackColor

.uno:LeftPara
.uno:CenterPara
.uno:RightPara
.uno:JustifyPara
.uno:LineSpacing
.uno:Spacing
.uno:ParaspaceIncrease
.uno:ParaspaceDecrease
.uno:IncrementIndent
.uno:DecrementIndent

Danke
Gruß
Winni

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » So, 10.11.2019 15:32

Ich werde jetzt wahrscheinlich die Auftragsbestätigung ohne Tabelle aufbauen. Habe gegoogelt und viele Kommentare warnen vor einer unkorrekten / verschobenen Darstellung beim Empfänger.
Ggf. werde ich noch später ein PDF dazu hängen - hier aus LO generiert 8) .

Re: Daten aus Array nach Zwischenablage entladen

von Deleted User 58301 » So, 10.11.2019 15:10

Hallo Winni,

vielen Dank für die Informationen.

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » So, 10.11.2019 12:15

Hallo,
nein, mit Tabulator klappt auch nicht.
Parallel habe ich mein Problem in einem Thunderbird-Forum aufgemacht und da schon eine Lösung bekommen. Mit Shift+Verfassen :shock: wird eine Mail als html oder Reintext (noch Fragen offen) eröffnet und das reinkopieren erfolgt dann schön "mit Blanks".
Gruß
Winni

Re: Daten aus Array nach Zwischenablage entladen

von Deleted User 58301 » Sa, 09.11.2019 22:40

Hallo Wini,

vielleicht geht es mit einer anderen Syntax.
z.B.:

Code: Alles auswählen

x(li_abzeile) = " | Rechnungsbetrag " & String(chr(9)) & "| " & ls_repr & " |"
oder auch:

Code: Alles auswählen

REM 2 Tabulatoren setzen
x(li_abzeile) = " | Rechnungsbetrag " & String(chr(9)) & String(chr(9)) & "| " & ls_repr & " |"

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » Sa, 09.11.2019 22:34

Ja, das wäre der Bug, oje. Werde die Sache auch einmal nachverfolgen.

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » Sa, 09.11.2019 22:29

Hallo,
nach einem schnellen Test mit Tabulator würde ich sagen "nein".

Re: Daten aus Array nach Zwischenablage entladen

von Stephan » Sa, 09.11.2019 22:26

aber ich glaube das ist kein Problem von LO sondern hier muss ich in Thunderbird suchen
Hier ist ein Hinweis auf den Bug:
https://www.thunderbird-mail.de/forum/t ... -verloren/

mir ist allerdings der Status der dortigen Bugmeldung nicht ganz klar:
https://bugzilla.mozilla.org/show_bug.cgi?id=1174452

mir scheint der Bug wurde gefixt, aber es gibt dort den Hinweis auf einen Regressionsbug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1568313

Bei Letzterem ist mir nur nicht klar warum der als REgressionsbug gilt, denn die FEhlerbeschreibung ist inhaltlich, meine Meinung nach, eine Andere.


Gruß
Stephan

Re: Daten aus Array nach Zwischenablage entladen

von Deleted User 58301 » Sa, 09.11.2019 22:10

Hallo Wini,
Wini hat geschrieben:aber Mist die 42 Blanks fehlen nach dem Wort Rechnungsbetrag)
Frage aus Interesse?
Funktionieren keine Tabulatoren, statt der Leerzeichen?

Code: Alles auswählen

x(li_abzeile) = " | Rechnungsbetrag " & chr(9) & chr(9) & chr(9) & "| " & ls_repr & " |"

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » Sa, 09.11.2019 21:41

Hi,
a) ein Array wird mit unterschiedlichen Textzeilen gefüllt um eine Auftragsbestätigung für Thunderbird zusammenzubauen
Alle Textzeilen werden schön formatiert damit letztendlich alle Zeilen zu den Überschriften passen. Deshalb auch eine nichtproportionale Schriftart.
Eine Textzeile davon wäre z.B.

Code: Alles auswählen

x(li_abzeile) = " | Rechnungsbetrag " & string(42," ") & "| " & ls_repr & " |"
b) dann wird das Array in die Zwischenablage entladen (mithilfe deiner Lösungen)
c) dann wird mit Strg+V dieser Text in eine Thunderbirdmail eingefügt und sieht dann so aus:
| Rechnungsbetrag | 25,49 EUR | (aber Mist die 42 Blanks fehlen nach dem Wort Rechnungsbetrag)

mache ich STRG+V in Notepad dann funktioniert das dagegen korrekt so:
| Rechnungsbetrag ……………………………………….. | 25,49 EUR |

Hatte gedacht, wenn ich den Text schon als nicht proportional in der Zwischenablage habe (deine 2. Lösung) dann ist der Fehler behoben aber ich glaube das ist kein Problem von LO sondern hier muss ich in Thunderbird suchen. Auf jeden Fall vielen Dank für deine Lösungen, habe jetzt auch verstanden wie das mit den Texteigenschaften funktioniert.

Gruß
Wini

Re: Daten aus Array nach Zwischenablage entladen

von Stephan » Sa, 09.11.2019 12:49

Wie würde das funktionieren?

z.B.:

Code: Alles auswählen

Sub Main()
	Dim arg(0) as New com.sun.star.beans.PropertyValue
	arg(0).Name = "Hidden" 
	arg(0).Value = True
	
	dim args2(4) as new com.sun.star.beans.PropertyValue
	args2(0).Name = "CharFontName.StyleName"
	args2(0).Value = ""
	args2(1).Name = "CharFontName.Pitch"
	args2(1).Value = 0
	args2(2).Name = "CharFontName.CharSet"
	args2(2).Value = -1
	args2(3).Name = "CharFontName.Family"
	args2(3).Value = 5
	args2(4).Name = "CharFontName.FamilyName"
	args2(4).Value = "DejaVu Sans Mono"
	
	x = Array("aa","bb","cc")
	For i = 0 To Ubound(x())
		k = k & x(i) & CHR(13)
	Next i
	
	x = StarDesktop.loadComponentFromURL ("private:factory/swriter","_blank", 0, arg())
	x.Text.String = LEFT(k, LEN(k)-1)
	ccf = x.CurrentController.Frame
	With createUnoService("com.sun.star.frame.DispatchHelper")
		.executeDispatch(ccf, ".uno:SelectAll", "", 0, Array())
		.executeDispatch(ccf, ".uno:CharFontName", "", 0, args2())
		.executeDispatch(ccf, ".uno:Copy", "", 0, Array())
	End With

	x.close(true)
End Sub
Mein Problem:

VBA-Code:

Code: Alles auswählen
la_ab(li_abzeile) = " | Rechnungsbetrag " & string(42," ") & "| " & ls_repr & " |"
Mein Problem ist, das er beim reinkopieren dieses Zwischenablagetextets in unterschiedliche Tools (Notepad, Thunderbird, hier in Forumbeitrag) die string(42," ") weglässt. CHR$(32) geht auch nicht. Nach Notepad klappts!
Ich habe keine Ahnung was Du damit meinst.


Gruß
Stephan

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » Sa, 09.11.2019 09:25

Hallo Stephan,
würde dem Text gleich eine nichtproportionale Schriftart mitgeben wollen (z.B. DejaVu Sans Mono). Wie würde das funktionieren?

Mein Problem:

VBA-Code:

Code: Alles auswählen

 la_ab(li_abzeile) = " | Rechnungsbetrag " & string(42," ") & "| " & ls_repr & " |"
Mein Problem ist, das er beim reinkopieren dieses Zwischenablagetextets in unterschiedliche Tools (Notepad, Thunderbird, hier in Forumbeitrag) die string(42," ") weglässt. CHR$(32) geht auch nicht. Nach Notepad klappts!

Werde noch zum "Hirsch" :cry:

Danke
Gruß
Winni

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » Do, 07.11.2019 13:30

ja, so klappt es. Super!
Danke

Re: Daten aus Array nach Zwischenablage entladen

von Stephan » Di, 05.11.2019 09:11

Dann mache es über ein Dokument:

Code: Alles auswählen

Sub Main()
	Dim arg(0) as New com.sun.star.beans.PropertyValue
	arg(0).Name = "Hidden" 
	arg(0).Value = True
	
	x = Array("aa","bb","cc")
	For i = 0 To Ubound(x())
		k = k & x(i) & CHR(13)
	Next i
	
	x = StarDesktop.loadComponentFromURL ("private:factory/swriter","_blank", 0, arg())
	x.Text.String = LEFT(k, LEN(k)-1)
	ccf = x.CurrentController.Frame
	With createUnoService("com.sun.star.frame.DispatchHelper")
		.executeDispatch(ccf, ".uno:SelectAll", "", 0, Array())
		.executeDispatch(ccf, ".uno:Copy", "", 0, Array())
	End With

	x.close(true)
End Sub
Gruß
Stephan

Re: Daten aus Array nach Zwischenablage entladen

von Postbyme » Mo, 04.11.2019 21:11

Funktioniert leider nicht in A00 bei mir unter Windows 10.
Wenn ich den Code durchlaufe dann springt er plötzlich komisch und AOO hängt sich auf.
Schade!

Nach oben