2017-02-23 1 views
0

J'utilise une barre latérale de script d'applications pour insérer du texte, où je dois ajouter du texte au début, puis après avoir ajouté de nouveau append.Passage d'un caractère de nouvelle ligne en tant que variable à insertText dans GAS

Le texte ajouté sera déterminé par la zone de texte dans la barre latérale.

Je passe les valeurs formObject

function sendform(){ 
    var f = document.forms[0].elements; 
    var data = {  "mytext": f[0].value } 
    google.script.run.withSuccessHandler(ready).withFailureHandler(onFailure).processForm(data); 
} 

Voici le code de script apps. J'ai essayé d'utiliser encodeURIComponent decodeURIComponent, mais c'est toujours le même problème.

Des suggestions?

Répondre

1

Vous voudrez peut-être d'abord vérifier les règles données dans Structure of a document où vous trouverez l'arbre montrant quels éléments de texte peuvent être insérés et quels éléments peuvent seulement être manipulés en place. Comme mentionné, le service Document Service dans Apps Script peut uniquement insérer certains types d'éléments. Si vous trouvez dans l'arborescence que vous essayez d'insérer un élément autorisé, voir Class Text pour connaître les méthodes que vous pouvez utiliser pour insérer du texte tel que insertText(offset, text).

est ici l'exemple de code dans l'insertion de texte:

var body = DocumentApp.getActiveDocument().getBody(); 

// Use editAsText to obtain a single text element containing 
// all the characters in the document. 
var text = body.editAsText(); 

// Insert text at the beginning of the document. 
text.insertText(0, 'Inserted text.\n'); 

// Insert text at the end of the document. 
text.appendText('\nAppended text.'); 

// Make the first half of the document blue. 
text.setForegroundColor(0, text.getText().length/2, '#00FFFF');