2017-08-20 18 views
0

「応答 - 編集しない」というタイトルのタブ(メインシート内のシート)の特定の列を書式設定する関数を作成しようとしています。ただし、メニューからスクリプトを実行するたびに、「スクリプト関数が見つかりません:FormatCWR」というエラーメッセージが表示されます。
はここGoogle Apps Script:スクリプト関数が見つかりません:FormatCWR

function onOpen() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var entries = [{name:"FormatCWR", functionName:"FormatCWR"}]; 
    ss.addMenu("Scripts", entries); 
    FormatCRW() 
} 
function FormatCRW() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetCWR = ss.getSheetByName("Responses - DO NOT EDIT"); 
    var data = sheetCWR.getDataRange().getValues(); 
    var newData = new Array(); 
    for(i in data){ 
    sheetCWR.getRange('H2:H').setNumberFormat("mm/dd/yyyy"); 
    sheetCWR.getRange('J2:J').setNumberFormat('$0.00'); 
    sheetCWR.getRange('K2:K').setNumberFormat('$0.00'); 
    sheetCWR.getRange('R2:R').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BD2:BD').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BG2:BG').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BJ2:BJ').setNumberFormat('$0.00'); 
    sheetCWR.getRange('S2:S').setNumberFormat('[h]:[m]:[s]'); 
    sheetCWR.getRange('T2:T').setNumberFormat('[h]:[m]:[s]'); 
    sheetCWR.getRange('BO2:BO').setNumberFormat('[h]:[m]:[s]'); 
    break; 
    } 
}; 

答えて

0

私は関数が「.GS」ファイルであり、それが本当にそこにあることを前提としてい...私はfrankensteinedてきたことを、コードです。だから、どこか他の場所で何かが間違っている可能性があります。私は、たくさんの人があなたのやり方に似た方法でメニューを作っていることを知っています。しかし、私はこのようにしているのが好きです。

SpreadsheetApp.getUi().createMenu('Scripts') 
    .addItem('Format','FormatCRW') 
    .addToUi(); 

おそらくこれは役に立ちません。

私はおそらくここに何かが見つからないでしょうが、この機能は私には意味がありません。

function FormatCRW() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetCWR = ss.getSheetByName("Responses - DO NOT EDIT"); 
    var data = sheetCWR.getDataRange().getValues(); 
    var newData = new Array();//Not used at all 
    for(i in data){//Why are you looping on every row in the data range when all of the ranges cover all of the rows? 
    sheetCWR.getRange('H2:H').setNumberFormat("mm/dd/yyyy"); 
    sheetCWR.getRange('J2:J').setNumberFormat('$0.00'); 
    sheetCWR.getRange('K2:K').setNumberFormat('$0.00'); 
    sheetCWR.getRange('R2:R').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BD2:BD').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BG2:BG').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BJ2:BJ').setNumberFormat('$0.00'); 
    sheetCWR.getRange('S2:S').setNumberFormat('[h]:[m]:[s]'); 
    sheetCWR.getRange('T2:T').setNumberFormat('[h]:[m]:[s]'); 
    sheetCWR.getRange('BO2:BO').setNumberFormat('[h]:[m]:[s]'); 
    break;//Why have a loop if your going to break out the very first time? 
    } 
}; 

それは

function FormatCRW() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetCWR = ss.getSheetByName("Responses - DO NOT EDIT"); 
    sheetCWR.getRange('H2:H').setNumberFormat("mm/dd/yyyy"); 
    sheetCWR.getRange('J2:J').setNumberFormat('$0.00'); 
    sheetCWR.getRange('K2:K').setNumberFormat('$0.00'); 
    sheetCWR.getRange('R2:R').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BD2:BD').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BG2:BG').setNumberFormat('$0.00'); 
    sheetCWR.getRange('BJ2:BJ').setNumberFormat('$0.00'); 
    sheetCWR.getRange('S2:S').setNumberFormat('[h]:[m]:[s]'); 
    sheetCWR.getRange('T2:T').setNumberFormat('[h]:[m]:[s]'); 
    sheetCWR.getRange('BO2:BO').setNumberFormat('[h]:[m]:[s]'); 
} 
+0

ありがとうこのようもう少し理にかなって!これは大いに役立ちます。 – buildbetter

関連する問題