アクティブではないシート」という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。bk.getActiveSheet();のようにSpreadsheet.getActiveSheet()メソッドを使って、アクティブなシートを取得することができます。アクティブではないシート」という検索をなさった方は、おそらくこのことはご存知で、逆にアクティブになっていないシートを取得したい場合には、どのようなコードを書けばいいのかを探していらしたのでしょう。[スポンサードリンク]シート名を指定してSheetを取得するサンプルスクリプトシート名からシートを取得する場合は、以下のようなコードです。null){Browser.msgBox(sh.getRange("A1").getValue());}}上記のスクリプトを実行すると「sample」という名前のシートのA1セルの値がメッセージボックスに表示されます。bk.getSheetByName("sample");が、アクティブではないシートを取得している箇所です。SpreadsheetクラスのgetSheetByName()メソッドで、シート名を使ってシートを取得できます。(getSheetByNameというそのままの名前のついたメソッドです)Spreadsheet.getSheetByName()メソッドは、引数に指定された名前のシートが見つからなかったときにはnullを返してくるので、メッセージボックスにA1セルの値を表示する処理をif文で括っています。null){Browser.msgBox(sh.getRange("A1").getValue());}全シートを配列で取得してインデックスを指定してSheetを取得するサンプルスクリプトシートの名前ではなく、何枚目のシートかを指定してシートを取得したい場合は、以下のようなスクリプトです。bk.getSheets();Browser.msgBox(arr_sh[0].getRange("A1").getValue());}上記のスクリプトを実行すると、一番左のシートのA1セルの値がメッセージボックスに表示されます。bk.getSheets();になっています。SpreadsheetクラスのgetSheets()メソッドを使うと、すべてのシートを取得することができます。Spreadsheet.getSheets()メソッドではすべてのシートが配列として返され、配列の1つ目の要素(添え字・インデックスの「0」)が、一番左のシートを表します。Applications)のコレクションのインデックスが「1」始まりであることに慣れている方は要注意です。]の添え字に「0」を指定して、一番左のシートを取得して、そのA1セルの値をメッセージボックスに表示しています。Browser.msgBox(arr_sh[0].getRange("A1").getValue());インデックスを指定してSheetを取得するサンプルスクリプトSpreadsheet.getSheets()メソッドを使って、一番左のシートを取得するなら以下のようなコードも考えられます。bk.getSheets()[0];Browser.msgBox(sh.getRange("A1").getValue());と、Spreadsheet.getSheetsメソッド実行時に、配列の添え字「0」も併せて指定することで、一番左のシートをはじめから取得しています。Script)スクリプトをご紹介しています。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。