Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


Je ne vois pas mon message où j'avais posté le code de la macro, donc je
recommence en utilisant la boite mail cette fois (je comprends rien à ce
système de mélange forum/mailing list, première fois que je vois ça désolé).

Comme je le disais précédemment, le fichier JSON créé par la macro est
apparemment ANSI, je ne sais pas lui dire de faire de l'UTF-8. Quand je
crée au préalable un fichier en UTF-8, la macro l'écrase pour en refaire un
en ANSI.
Convertir le fichier en UTF-8 après coup n'enlève pas les "?". J'ai essayé
plusieurs éditeurs de texte et plusieurs fontes.

Le copier/coller fait un peu buguer l'indentation.
Dans mon fichier Calc, de la colonne A à D, ce sont les balises et marques
pour le formatage du langage JSON.
De la colonne E à J ce sont les langues.
La macro parse les lignes et les écrit à la suite dans un fichier .json
propre à chaque langue en créant la bonne indentation et le bon formatage
du langage.

REM  *****  BASIC  *****

Sub Main

Dim oFeuille as object, Cellule as object
Dim Resultat as string


oFeuille = ThisComponent.Sheets.getByName("quiz")

Nblang=6

for Lang=0 to (Nblang-1)
if Lang=0 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16)
& "en.json"
if Lang=1 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16)
& "fr.json"
if Lang=2 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16)
& "de.json"
if Lang=3 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16)
& "es.json"
if Lang=4 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16)
& "it.json"
if Lang=5 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16)
& "kr.json"

open Fichier for output as #1
for l=1 to 350 ' lignes (parse l'intégralité du document)
Resultat=""
    for c=0 to 4
    Cellule = oFeuille.getCellByPosition(c,l)
    CelluleLang = oFeuille.getCellByPosition(c+Lang,l)
CelluleLangSuivante = oFeuille.getCellByPosition(c+Lang,l+1)
  if c=0 and len(Cellule.String)>0 then
  Resultat = Cellule.String
  goto quiznext
  endif
      if c<4 and len(Cellule.String)>1 then
      Resultat = Resultat & Cellule.String
      endif
      if c=4 and len(CelluleLang.String)>1 and
len(CelluleLangSuivante.String)>1 then Resultat = Resultat & " """ &
CelluleLang.String & ""","
      if c=4 and l<>54 and len(CelluleLang.String)>1 and
len(CelluleLangSuivante.String)=0 then Resultat = Resultat & " """ &
CelluleLang.String & """"
  if c=4 and l=54 then Resultat = Resultat & " """ & CelluleLang.String &
""","
      if len(Cellule.String)=0 then Resultat = Resultat & "    "
   quiznext:
   next c
   if len(Resultat)>1 then
      print #1, Resultat
   endif
next l
close #1
next Lang

Le mer. 29 août 2018 à 23:38, Cédric Giraud <cmapoubellemail@gmail.com> a
écrit :

Ah, au temps pour moi, je cliquais sur "reply" depuis le forum, je croyais
que tout le monde le voyais, le site me disant que le mail était envoyé à
toute la liste.

Le mer. 29 août 2018 à 19:04, Landron Gérard <cornosier@palendriai.lt> a
écrit :

Le 29/08/2018 à 16:10, demande_aide_fr@libreoffice.org a écrit :
Bonjour

Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que la liste
reçoive une copie de votre réponse.



Email:: cmapoubellemail@gmail.com
Sujet:: Calc macro : écrire des caractères coréens dans un fichier
OS:: Windows 10
Version:: 6.0.x
Question:: Bonjour,
J'utilise LibreOffice Calc pour gérer des traductions, ainsi qu'une
macro qui génère des fichiers .json (un par langue, dont le coréen, seule
langue avec alphabet non latin du lot).

Calc m'affiche bien les caractères coréens, mais dans le fichier .json
généré, je n'ai que des "?". Comment régler le problème ?
Bonsoir,

quel est l'encodage du fichier json ? c'est la macro qui le défini ou le
système ?

Je n'ai pas d'autre problème que ça.

Merci,
Gérard



-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.