前提・実現したいこと
JavaScript初心者です。
ご教授頂きたい内容としましては、
1ファイル内に記載したfunctionAの中の変数をfunctionBで使用する方法はありますでしょうか。
発生している問題
function A(){ var test = "テスト"; }
function B(){ // こちらでfunctionAで記載したtest変数を使用したいです。 Browser.msgBox(test); }
試したこと
ローカル関数では無くグローバル関数では可能でした。
function A(){ test = "テスト"; }
function B(){ // こちらでfunctionAで記載したtest変数を使用したいです。 Browser.msgBox(test); }
補足情報
ローカル関数ではなくグローバル関数で宣言したものは可能でしたんで、
この他の方法で別functionにで変数を呼び出すことは可能でしょうか。
ご教授をお願いいたします。
具体的に行いたい事
説明や詳細が乏しくて申し訳ありません。
具体的に行いたい事としましては、
スプレッドシートの"在庫台帳"シートにある特定のセルの内容をfunction zaiko()にて変数new_arrayにLISTで詰めており、
このnew_arrayの値を別シート("過不足")にfunction test()で形を整え転記させようとしております。
new_arrayをfunction test()の中で使用する方法はございませんでしょうか。
以下が汚いですが書き途中のコードとなっております。
function zaiko(){ // 対象シートを取得 var sheet = SpreadsheetApp.getActive().getSheetByName("在庫台帳"); // 最終の行数を取得 var range = sheet.getLastRow(); // アイテム行数をキャスト var itemcastrange = "A" + String(range); // 場所行数をキャスト var placecastrange = "B" + String(range); // 在庫行数をキャスト var zaikocastrange = "D" + String(range); // LIST作成 var array = []; // アイテムを取得 var itemvalue = sheet.getRange("A2:" + itemcastrange).getValues(); // 場所を取得 var placevalue = sheet.getRange("B2:" + placecastrange).getValues(); // 在庫数を取得 var zaikovalue = sheet.getRange("D2:"+ zaikocastrange).getValues(); // LISTに集約 for(var i = 0;i < range;i++){ var count = 0; if(itemvalue[i] == ""){ // アイテム+場所+数量 array[i] = itemvalue[count] + placevalue[i] + "/" + zaikovalue[i]; } else{ // アイテム名がある行数 count = i; } } // 空欄の配列を削除 var new_array = array.filter(function(x){ return !(x === "" || x === null || x === " "); }); Browser.msgBox(new_array); } function test(){ // 対象シートを取得 var sheet = SpreadsheetApp.getActive().getSheetByName("過不足"); // Browser.msgBox(new_array); }