Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 21. 7. 2023 13:17:57

kamilos0123
Člen
Registrace: 14. 1. 2016
Příspěvků: 41

Přidání HTML znaků do buněk - VYŘEŠENO

Zdravím,
řešil někdo přidání HTML znaků do buněk?
Př. v jedné buňce mám tento text:

Táto bunda je absolútnym hitom tejto sezóny. Je ideálna na elegantný alebo športový štýl. Jej dokonalý strih a kvalitné spracovanie vám poskytnú maximálne pohodlie a štýl. Odporúčame!

Farba: zelená

Zloženie: 100% polyester.

Materiál: 100% polyester:

Materiál: 85 cm.
Pás: 68 cm
Busta: 87 cm
Výška: 172 cm
Veľkosť topánok: 39

Modelka má na sebe veľkosť: S

a ve vedlejším sloupci bych měl výstup v buňce:

<p>T&aacute;to bunda je absol&uacute;tnym hitom tejto sez&oacute;ny. Je ide&aacute;lna na elegantn&yacute; alebo &scaron;portov&yacute; &scaron;t&yacute;l. Jej dokonal&yacute; strih a kvalitn&eacute; spracovanie v&aacute;m poskytn&uacute; maxim&aacute;lne pohodlie a &scaron;t&yacute;l. Odpor&uacute;čame!</p>
<p>Farba: zelen&aacute;</p>
<p>Zloženie: 100% polyester.</p>
<p>Materi&aacute;l: 100% polyester:</p>
<p>Materi&aacute;l: 85 cm.<br />P&aacute;s: 68 cm<br />Busta: 87 cm<br />V&yacute;&scaron;ka: 172 cm<br />Veľkosť top&aacute;nok: 39</p>
<p>Modelka m&aacute; na sebe veľkosť: S</p>

Neřeším encokodování html entit ale přidání html tagů.
Nevím, jestli je to vůbec možné.

Motivace: Mám text v HTML kodování, umím si ho hromadně předělat na klasický text, Přeložím si ho ale už nevím, jak ho vrátit hromadně zpět.

Díky moc!

Editoval kamilos0123 (8. 8. 2023 09:52:55)


LibreOffice

Offline

#2 21. 7. 2023 15:01:40

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 145

Re: Přidání HTML znaků do buněk - VYŘEŠENO

V Linuxu chodí toto:

Function Konverze(Data) As Variant
	Dim Text, X, S, D
	D = Chr(13) & Chr(10)
 	Text = split(Data, D)
	For Each X In Text 
		S = S & "<p>" & X & "</p>" & D
	Next
	Konverze = S
End Function

Nevím jestli pořadí

Chr(13) & Chr(10)

je ve Windows stejné, nebo obrácené, případně zda se používá pouze jeden znak z těch dvou.


Pravděpodobně by to šlo bez makra jednodušeji pomocí příkazu regex, ale to jsem nezkoušel.

Editoval LADER (21. 7. 2023 15:18:37)


Ubuntu 22.04.4 LTS, LibreOffice Verze: 7.6.6.3, wxMaxima 20.12.1, Maxima 5.47.0 (SBCL)

Offline

#3 21. 7. 2023 15:47:41

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 145

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Všiml jsem si že používáš i odřádkování, tak jsem to tam dodělal.

Function Knv(Data) As Variant
	Dim Text, X, S, D, U, K, T1, T2
	D = Chr(10) ' Upravit podle použitého odřádkování ... buď Chr(10), nebo Chr(13), nebo oba - záleží na pořadí
 	Text = split(Data, D)
 	S = "<p>"
 	U = Ubound(Text)
	For K=0 To U-1
		T1 = Trim(Text(K))
		T2 = Trim(Text(K+1))
		If Len(T1)>0 Then		
			If Len(T2)=0 Then 
				S = S &  T1 & "</p>" & D & "<p>"
			Else 
				S = S &  T1 & "<br />"
			EndIf		
		EndIf		
	Next
	S = S &  T2 & "</p>"	
	Knv = S
End Function

Ubuntu 22.04.4 LTS, LibreOffice Verze: 7.6.6.3, wxMaxima 20.12.1, Maxima 5.47.0 (SBCL)

Offline

#4 24. 7. 2023 12:05:56

kamilos0123
Člen
Registrace: 14. 1. 2016
Příspěvků: 41

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Díky moc, os: macOS

Dostal jsem error:
Při běhu Basic skriptu Standard.InsertHTML.Knv došlo k chybě skriptovacího rozhraní.
Zpráva: wrong number of parameters!


LibreOffice

Offline

#5 24. 7. 2023 18:32:04

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 145

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Posílám pro vyzkoušení testovací soubor na kterém jsem to dělal, pokud je nekompatibilita vlivem použitého OS, tak neporadím. Jediný co vím, je že konec řádku může být ukončen různými znaky (v různých OS), ale to jsem uvedl již minule.


Ubuntu 22.04.4 LTS, LibreOffice Verze: 7.6.6.3, wxMaxima 20.12.1, Maxima 5.47.0 (SBCL)

Offline

#6 25. 7. 2023 13:36:02

kamilos0123
Člen
Registrace: 14. 1. 2016
Příspěvků: 41

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Zase jsem se něco nového naučil big_smile
Já makro spouštěl skrze Nástroje > makra > spustit makro
Když ve svém souboru přidám =KVN(data) kde "data" je zvolená buňka, dostanu <p></p>
Ale ve vašem souboru to funguje.

EDIT:
Už vím proč, když je pouze jeden řádek textu, hodí to výstup <p></p>.

Editoval kamilos0123 (25. 7. 2023 13:46:25)


LibreOffice

Offline

#7 28. 7. 2023 11:12:02

kamilos0123
Člen
Registrace: 14. 1. 2016
Příspěvků: 41

Re: Přidání HTML znaků do buněk - VYŘEŠENO

@lader šlo by to tam prosím zakomponovat?
Aby to zpracovávalo správně i jednořádkové data.


LibreOffice

Offline

#8 28. 7. 2023 14:46:49

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 145

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Doplněný kód:

Function Knv(Data) As Variant
	Dim Text, X, S, D, U, K, T1, T2
	D = Chr(10) ' Upravit podle použitého odřádkování ... buď Chr(10), nebo Chr(13), nebo oba - záleží na pořadí
 	Text = split(Data, D)
 	S = "<p>"
 	U = Ubound(Text) 		
	T2 = Trim(Text(0))	' Tento řádek jsem přidal ... (oprava na jednořádkový vstup)
	For K=0 To U-1
		T1 = Trim(Text(K))
		T2 = Trim(Text(K+1))
		If Len(T1)>0 Then		
			If Len(T2)=0 Then 
				S = S & T1 & "</p>" & D & "<p>"
			Else 
				S = S & T1 & "<br />"
			EndIf		
		EndIf		
	Next
	S = S & T2 & "</p>"	
	Knv = S
End Function

Ubuntu 22.04.4 LTS, LibreOffice Verze: 7.6.6.3, wxMaxima 20.12.1, Maxima 5.47.0 (SBCL)

Offline

#9 31. 7. 2023 21:28:27

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Když dám ukázku (více řádků) uložit jako html (calc), dostanu:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	
	<meta http-equiv="content-type" content="text/html; charset=windows-1250"/>
	<title></title>
	<meta name="generator" content="LibreOffice 7.0.4.2 (Windows)"/>
	<meta name="created" content="2023-07-31T22:10:39.922000000"/>
	<meta name="changed" content="2023-07-31T22:16:36.258000000"/>
	
	<style type="text/css">
		body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Liberation Sans"; font-size:x-small }
		a.comment-indicator:hover + comment { background:#ffd; position:absolute; display:block; border:1px solid black; padding:0.5em;  } 
		a.comment-indicator { background:red; display:inline-block; border:1px solid black; width:0.5em; height:0.5em;  } 
		comment { display:none;  } 
	</style>
	
</head>

<body>
<table cellspacing="0" border="0">
	<colgroup width="1128"></colgroup>
	<tr>
		<td height="32" align="left"><font face="Liberation Mono,Courier New">Táto bunda je absolútnym hitom tejto sezóny. Je ideálna na elegantný alebo športový štýl. Jej dokonalý strih a kvalitné spracovanie vám poskytnú maximálne pohodlie a štýl. Odporúčame!</font></td>
	</tr>
	<tr>
		<td height="32" align="left"><font face="Liberation Mono,Courier New">Farba: zelená</font></td>
	</tr>
	<tr>
		<td height="62" align="left"><font face="Liberation Mono,Courier New">Zloženie: 100% polyester.</font></td>
	</tr>
	<tr>
		<td height="77" align="left"><font face="Liberation Mono,Courier New">Materiál: 85 cm.<br>Pás: 68 cm<br>Busta: 87 cm<br>Výška: 172 cm<br>Veľkosť topánok: 39</font></td>
	</tr>
	<tr>
		<td height="77" align="left"><font face="Liberation Mono,Courier New">Modelka má na sebe veľkosť: S </font></td>
	</tr>
</table>
<!-- ************************************************************************** -->
</body>

</html>

případně, pokud je to v jedn0 buňce, tak toto:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	
	<meta http-equiv="content-type" content="text/html; charset=windows-1250"/>
	<title></title>
	<meta name="generator" content="LibreOffice 7.0.4.2 (Windows)"/>
	<meta name="created" content="2023-07-31T22:10:39.922000000"/>
	<meta name="changed" content="2023-07-31T22:24:00.511000000"/>
	
	<style type="text/css">
		body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Liberation Sans"; font-size:x-small }
		a.comment-indicator:hover + comment { background:#ffd; position:absolute; display:block; border:1px solid black; padding:0.5em;  } 
		a.comment-indicator { background:red; display:inline-block; border:1px solid black; width:0.5em; height:0.5em;  } 
		comment { display:none;  } 
	</style>
	
</head>

<body>
<table cellspacing="0" border="0">
	<colgroup width="1128"></colgroup>
	<tr>
		<td height="241" align="left"><font face="Liberation Mono,Courier New">Táto bunda je absolútnym hitom tejto sezóny. Je ideálna na elegantný alebo športový štýl. Jej dokonalý strih a kvalitné spracovanie vám poskytnú maximálne pohodlie a štýl. Odporúčame!<br><br>Farba: zelená<br><br>Zloženie: 100% polyester.<br><br>Materiál: 100% polyester:<br><br>Materiál: 85 cm.<br>Pás: 68 cm<br>Busta: 87 cm<br>Výška: 172 cm<br>Veľkosť topánok: 39<br><br>Modelka má na sebe veľkosť: S</font></td>
	</tr>
</table>
<!-- ************************************************************************** -->
</body>
</html>

Já bych nic neprogramoval.

Offline

#10 8. 8. 2023 09:52:07

kamilos0123
Člen
Registrace: 14. 1. 2016
Příspěvků: 41

Re: Přidání HTML znaků do buněk - VYŘEŠENO

Díky moc @LADER !
@Ip takhle nám to vyhovuje.:) ale díky


LibreOffice

Offline

Zápatí