0

Here私は教師の観測のためのシンプルなGoogleのフォームを持っている、と私は、各フォームの送信によってトリガスクリプトを使用してワードラップとセルの書式を設定したいGoogleフォームトリガースクリプトのみGoogleシートの一番上の行をフォーマットしますか?

私のプロジェクトです。

function triggerWrap() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var s = ss.getSheetByName('Form Responses 1'); 
var r = s.getDataRange(); 
r.setWrap(true) 
} 

function myFunction(e) { 

e.range.setWrap(true); 

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 
var cell = sheet.getRange('B1:O300'); 
cell.setWrap(true) 

var Time = e.values[2]; 
var TeacherName = e.values[1]; 
var Date = e.values[3]; 
var Goal1 = e.values[4]; 
var Goal1Domains = e.values[5]; 
var Goal1Teacher = e.values[6]; 
var Goal1Student = e.values[7]; 
var Goal1Suggestions = e.values[8]; 
var Goal2 = e.values[9]; 
var Goal2Domains = e.values[10]; 
var Goal2Teacher = e.values[11]; 
var Goal2Student = e.values[12]; 
var Goal2Suggestions = e.values[13]; 
var subject = "Informal Observation Notes for your Records"; 
var message = "Hello,\n" + "Here are the notes from our informal observation:" + "\n\nDate: " + Date + "\n\nTime: " + Time + "\n\nGoal 1: " + Goal1 + "\n\nDomain(s): " + Goal1Domains + "\n\nObserved Teacher Behaviors: " + Goal1Teacher + "\n\nObserved Student Behaviors: " + Goal1Student + "\n\nSuggestions: " + Goal1Suggestions; 

MailApp.sendEmail (<******>, subject, message); 

} 

あなたが見ることができるように、私は(かつて別の関数と私の電子メール通知機能では2種類の方法のように)これを行うためのいくつかの方法を試してみたが、唯一の一番上の行がフォーマットなっています。私は灰色の線を上下に動かしてみましたが効果はありません。

最も奇妙な部分:いずれかのセルをクリックして手動でフォーマットすると、すでにワードラップに設定されていると表示されます。また、すべてのセルのオーバーフローを設定してから、スクリプトを再実行してみました。

アイデア?

+0

ようこそ。シートは表示のみに設定されています。また、関連するコードを投稿に入れてください。おかげで –

+0

ありがとう!私の間違い。編集リンクがありますので、スクリプトから関連するコードを抜粋します:https://docs.google.com/spreadsheets/d/166qWsdzrT0aG-swARyTC5_qN0NmzQzai1GlxQe1WKHc/edit?usp=sharing –

答えて

0

あなたはいくつかのことを行う必要があります。関数名をonFormSubmitに変更する必要があります。また、リソースを介してインストール可能なonChangeトリガーを設定します。テストデータでは、各セルのテキストにスペースを追加する必要があります。これは既知の問題です(問題6016)。私はまたあなたのコードに垂直方向のアラインメントトップを追加することをお勧めします。試してみてください:

function onFormSubmit(e){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = ss.getSheetByName('Form Responses 1'); 
    var r = s.getDataRange(); 
r.setWrap(true).setVerticalAlignment("top") 
} 
+0

ありがとうございました!スペースの問題はちょうど1分前に私に起こりました。私はテスト中にトリガーを削除しましたが、それは今戻っています。あなたのコードも追加しています。 –

関連する問題