web-dev-qa-db-fra.com

Mise en forme / ingestion de texte dans Google Documents et Google Sheets

J'ai un Google Docs géant qui ressemble à ceci:

...
this is a line with some text, 1
this is a line with some more text, 1
here is another line with some text, 0
here is another line with some text, 1
here is yet another line with text, 0
and finally here is a line with text, 1
...

Les lignes avec du texte peuvent être n'importe où, de quelques mots à quelques paragraphes. Cependant, ils se terminent toujours par un 1 ou 0. Ces lignes ont été extraites d'une feuille de calcul et je peux y accéder en tant que bloc de texte dans une cellule avec une colonne adjacente contenant 1 ou 0.

Excel ressemblerait à quelque chose comme:

-----------------
block of text | 0
block of text | 1
block of text | 0
block of text | 0
block of text | 1
------------------

Le problème auquel je fais face:

Everything with a `1` should be right aligned on this document.
Everything with a `0` should be left aligned on this document.

J'espère qu'il y a un moyen de le faire (écrire une fonction/utiliser un outil sur la feuille de calcul ou sélectionner un texte pertinent dans le document). J'imagine que tenter de sélectionner les lignes dans le document peut être plus difficile, car certains blocs de texte couvrent plusieurs paragraphes mais ne comportent qu'un seul indicateur numérique.

3
DocsQuestion

Le script d'application suivant extrait les valeurs de la plage A1: B4 de la feuille active et les utilise pour remplir un nouveau document (appelé Document de test). de la manière spécifiée. Chaque entrée de la colonne A est ajoutée en tant que paragraphe et alignée selon la colonne B (entrée zéro = gauche, non nul = droite).

Si vous souhaitez modifier un document existant, utilisez var doc = DocumentApp.openById('DOCUMENT_ID_GOES_HERE'); au lieu de la première ligne de cette fonction.

function alignParagraphs() {
  var doc = DocumentApp.create('Test Document');
  var body = doc.getBody();

  var range = SpreadsheetApp.getActiveSheet().getRange("A1:B4");
  var values = range.getValues();
  for (var i = 0; i < values.length; i++) {
    body.appendParagraph(values[i][0])
    .setAlignment(values[i][1] ? DocumentApp.HorizontalAlignment.RIGHT : DocumentApp.HorizontalAlignment.LEFT);
  }
}
1
user135384

Copier/coller d'Excel dans des feuilles (en tant que colonnes A: B). Filtrez pour sélectionner 0 dans ColumnB et alignez-le à gauche. Modifiez le filtre pour sélectionner 1 dans ColumnB et alignez-le à droite. Résultats affichés dans les colonnes D: E:

WA100848 first example

Copier/coller dans Docs pour le résultat:

WA100848 second example

0
pnuts