Google Apps Script (GAS) を使って、Google スプレッドシートに新しいシートを追加する方法を説明します。GAS は JavaScript を基にしたスクリプト言語で、Google のサービスを自動化するのに役立ちます。
〇手順
・Google スプレッドシートを開く:
まず、Google スプレッドシートを開きます。
・スクリプトエディタを開く:
メニューから「拡張機能」 > 「Apps
Script」を選択します。
これで、Google Apps Script のエディタが開きます。
新しいスクリプトを書く:
以下のコードをスクリプトエディタにコピーして貼り付けます。
function addSheet() {
// スプレッドシートのアクティブなインスタンスを取得
var
spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// 新しいシートを追加
spreadsheet.insertSheet('新しいシート名'); // '新しいシート名'を任意の名前に変更できます
// 必要であれば、追加したシートに何か操作を行う
var
sheet = spreadsheet.getSheetByName('新しいシート名');
sheet.getRange('A1').setValue('こんにちは!');
}
〇スクリプトを実行:
・コードを書いたら、上部の「保存」ボタンをクリックしてスクリプトに名前を付けて保存します。
・次に、addSheet 関数を選択し、「実行」ボタンをクリックします。
権限の許可:
初回実行時には、GAS がスプレッドシートにアクセスするための権限を許可する必要があります。指示に従って権限を許可します。
〇シートが追加されているか確認:
スクリプトが実行されると、スプレッドシートに「新しいシート名」というシートが追加されているはずです。A1 セルには「こんにちは!」と入力されています。
〇シート名を指定しないで追加
spreadsheet.insertSheet('新しいシート名');
を
var newSheet = spreadsheet.insertSheet();
と括弧の中を空にするとワークシート名が自動で振られます。
〇VBAだと
VBA (Visual Basic for Applications) を使って、Excelで同様に新しいシートを追加する場合のコードを説明します。VBAでも、シート名を指定せずに新しいシートを追加することが可能です。
以下のコードをExcelのVBAエディタに入力すると、新しいシートが作成されます。
Sub AddSheetWithoutName()
'
ワークシートを追加
Dim
newSheet As Worksheet
Set newSheet = ThisWorkbook.Sheets.Add
'
新しいシートの名前を取得(デフォルト名)
Dim
sheetName As String
sheetName = newSheet.Name
'
新しいシートの名前をメッセージボックスで表示
MsgBox "新しいシートの名前: " & sheetName
'
新しいシートのA1セルにテキストを入力
newSheet.Range("A1").Value = "新しいシートが作成されました"
End Sub
〇シートを複製したい場合
Google Apps Script (GAS) を使って特定のシートを丸ごとコピーする方法について説明します。この方法では、元のシートを複製して、新しいシートとして追加します。
以下のコードを使って、特定のシートを丸ごとコピーできます。
function copySheet() {
// コピーしたいシートの名前を指定
var
sheetName = "コピー元のシート名";
// スプレッドシートのアクティブなインスタンスを取得
var
spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// 特定のシートを取得
var
sourceSheet = spreadsheet.getSheetByName(sheetName);
if (sourceSheet) {
// シートをコピーして、新しいシートとして追加
var copiedSheet = sourceSheet.copyTo(spreadsheet);
// コピーされたシートの名前を変更
copiedSheet.setName(sheetName + " のコピー");
// 必要に応じてシートの位置を設定(例:最初に移動)
spreadsheet.moveActiveSheet(1);
// コピーされたシートをアクティブにする
spreadsheet.setActiveSheet(copiedSheet);
Logger.log("シート '" + sheetName +
"' をコピーしました。");
}
else {
Logger.log("シート '" + sheetName +
"' が見つかりません。");
}
}
〇まとめ
Google Apps Scriptを使って、スプレッドシートを追加、複写する方法をまとめました。
Excelでもスプレッドシートでもワークシートに対して何かしらの処理をすることが多く、直接、元のシートをいじるより、コピーしたものを使うことがよくあります。
0 件のコメント:
コメントを投稿