質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

解決済

GAS:スプレッドシートをコピーし、指定したドライブへ格納したい

teratailr
teratailr

総合スコア5

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

1回答

-1評価

0クリップ

286閲覧

投稿2022/05/18 06:48

編集2022/05/18 17:41

実現したいこと

テンプレートをコピーし指定したドライブへ格納する際に
テンプレートには複数のシートがあるため、指定したシートのみでコピーを実行したいです。

※詳細※
テンプレートには8枚のシートがあります。
左から4・5・6枚目の3シートのみをコピーしドライブへ格納したいですが
その方法が分からず困っています。

現状は全シートのコピーはできていますので、下記のコードを修正する形でご教授いただけますと幸いです。

該当のソースコード

GAS

function copy() { // テンプレート var templateFile = DriveApp.getFileById('●●●●●'); // 格納ドライブ var OutputFolder = DriveApp.getFolderById('●●●●●'); var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getSheetByName("sheet1");//シート指定 //各情報の取得 var startdate = sheet.getRange("A1").getValue(); var kinds = sheet.getRange("A2").getValue(); var CompanyName = sheet.getRange("A5").getValue(); var productname = sheet.getRange("A7").getValue(); //格納する際のファイル名を指定 var fileName = `${startdate}_${kinds}_${CompanyName}_${productname}`; //コピーし格納 var newFile = templateFile.makeCopy(fileName,OutputFolder); //ファイル名・URLの書き出し var sheet1 = spreadsheet.getSheetByName("sheet2");//シート指定 var Folder = DriveApp.getFolderById("●●●●●"); var files = Folder.getFiles(); var row = 2; while(files.hasNext()){ var file = files.next() sheet1.getRange(row,1).setValue(file.getName()); sheet1.getRange(row,2).setValue(file.getUrl()); row++; }; }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

k.a_teratail

2022/05/18 07:09

> var sheet1 = spreadsheet10.getSheetByName("sheet2");//シート指定 spreadsheet10の変数が宣言されていませんが、記載漏れでしょうか?
teratailr

2022/05/18 07:11

記載ミスです。 Activeのためspreadsheetとなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。