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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

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

Q&A

1回答

2039閲覧

import rangeでの表示について

uenos7

総合スコア7

Google Apps Script

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

0グッド

1クリップ

投稿2017/12/19 00:20

import関数を使ったシートの転記をしているんですが、
転記元シートの枠線やセルの色まで転記することは可能なのでしょうか?
下記の内容で実行しているのですが、セルの値、計算式のみを転記しています。

=ImportRange("転記元のスプレッドキー","転記元内の特定のシート名!A:A50")

import関数以外で枠線、セル色の転記が可能な場合、その内容についてもご教授
頂きたいと思います。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

RangeクラスのcopyToメソッドを使うと、書式を含めてコピーすることができます。
Range copyTo

ですが、これは同じスプレッドシート内でのみ使うことができるもので、質問者様のケースでは別のスプレッドシートから値も書式も転記したい、と言うことなのでそのままでは使えません。

代替策として、コピー元のシートをコピー先のスプレッドシートに一時的にコピーして同じスプレッドシート内に含めてしまい、それからRange.copyToすれば良いかと思います。値と書式を取り込んだ後に一時コピーのシートは削除してしまえばいいでしょう。

確認の為にサンプルを作ってみました。スプレッドキーで示される別のスプレッドシートからアクティブな現在のスプレッドシートへ書式と値を転記(コピー)します。

JavaScript

1function sample01() { 2 3 // コピー先のスプレッドシート 4 var dstSpreadSheet = SpreadsheetApp.getActiveSpreadsheet(); 5 6 // コピー元のスプレッドシートを開く 7 var srcSpreadSheet = SpreadsheetApp.openById('スプレッドキー'); 8 9 // コピー元のシート「SRCDATA」を選択 10 var srcSheet = srcSpreadSheet.getSheetByName('SRCDATA'); 11 12 // コピー元のシートをコピー先のスプレッドシートへコピー 13 var copiedSheet = srcSheet.copyTo(dstSpreadSheet); 14 15 // コピーしたシートのA1:B2の範囲を選択 16 var srcRange = copiedSheet.getRange('A1:B2'); 17 18 // コピー先のスプレッドシートの「DSTDATA」シートを 転記先とする。 19 var dstSheet = dstSpreadSheet.getSheetByName('DSTDATA'); 20 21 // 転記先の範囲をA3:B4とする 22 var dstRange = dstSheet.getRange('A3:B4'); 23 24 // 書式と値を転記 25 srcRange.copyTo(dstRange); 26 27 // もう必要無いのでコピーしたシートは削除 28 dstSpreadSheet.deleteSheet(copiedSheet) 29}

投稿2017/12/30 05:47

編集2017/12/31 05:00
dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問