

情報を消すプログラムと、情報をコピーするプログラムを作成しましたが、`SpreadsheetApp.getActive();`
の宣言を関数に入れて、メソッドに入れても機能しませんでした。  
それぞれの関数内で変数を宣言すると、同じコードでも機能しました。  
  
メソッド内に関数を入れられないのであれば、`SpreadsheetApp.getActive();` の宣言は常にすべての関数内で行う必要がありますか？

[今回使っているスプレッドシート](https://script.google.com/u/0/home/projects/1Jmg93inDWmFLYOuLW4lUbxK6HKGSxFugw0SYdqRCanfAqnAHQ4KKa67z/edit)

以下がコードおよびファイルです。

情報を消す関数

[code]

    function Delete() {
      Sheet 
      //スプレッドシートアプリを開く
      var sheet1 = setActiveSheet(Sheet.getSheetByName('シート1'), true);
      sheet1.getRange('A2:B10').clear({contentsOnly: true, skipFilteredRows: true});
      spreadsheet.getRange('A2').activate();
      //情報を削除した後、A2をアクティブにする
      
    };
    
[/code]

情報をコピーする関数

[code]

    function Copy() {
      Sheet
      var sheet1 = setActiveSheet(Sheet.getSheetByName('シート1'), true);
      sheet1.getRange('!C2:D10').activate().copyTo(destination, SpreadsheetApp.CopyPasteType.PASTE_NORMAL);;
      //C2からD10の情報をコピーする
    }
    
    SpreadsheetApp.getActive();を関数に入れるファイル
    function Sheet(spreadsheet) {
      var spreadsheet = SpreadsheetApp.getActive();
    }
    
[/code]


CC BY-SA 4.0
2023-07-11T04:37:34.947
95558
2023-07-11T04:52:07.540
2023-07-11T04:52:07.540
3060
58928
question
google-apps-script google-spreadsheet
スプレッドシートを使用する宣言は、常にどのファイルでも行う必要がありますか？