私は過去数週間を探していて、このスクリプトを理解できませんでした。私がしようとしていることは、マスターのGoogleスプレッドシート上の絵のカレンダーを、管理している別のGoogleスプレッドシートに複製する方法を見つけ出すことです。マスターカレンダーの更新があるたびに、管理している他のGoogleスプレッドシートファイルで自動的に更新されることを願っています。今は、すべてを貼り付けてコピーし、再フォーマットし、イメージを再インポートする必要があります。私は多少は機能するスクリプトを見つけましたが、それはそれが同様に多くの仕事になるいくつかの問題があります。Googleスプレッドシート、コピーして既存のシートをコピーして置き換えます
スクリプトはcopyToスクリプトで、マスターのGoogleスプレッドシートファイル(「マスターカレンダー」)から「Googleカレンダー」と呼ばれる別のGoogleスプレッドシートファイルに「図形カレンダー」という名前のシートをコピーすることができます。私は編集を行うたびにスクリプトを実行できるトリガーを設定しています。
しかし、「絵のカレンダー1のコピー」「絵のカレンダー2のコピー」などという名前の新しいシートを作成し続け、新しいシートを作成する代わりに既存のシートを置換する方法を理解できません。
「マイカレンダー」ファイルの「絵のカレンダー」と呼ばれるように、コピーしたシートを変更することもできます。私が使用しているスクリプトは次のとおりです:
function copyMasterCalendar() {
var source = SpreadsheetApp.getActiveSpreadsheet();
var sheet = source.getSheets()[2];
var destination = SpreadsheetApp.openById("1exiUWVypFpYeHMkXHO3sMUTGupiC2gQjZIF0Ss44-pU");
sheet.copyTo(destination);
}
何かすべてのヘルプは大歓迎です!ありがとうございました!
...これを試して理解している場合、私はあなたが正しく私を理解し考えて、そのスクリプトは、ほぼ正常に動作します。書式設定や、元のシートにあるイメージはインポートされません(最初にリストしたcopyToスクリプト)。私はそれを理解しようと数時間を費やしましたが、成功しませんでした。書式や画像をインポートすることも可能ですか?私は本当にあなたのスクリプトが重複したシートを作成しないで、既存のものを上書きするのが好きです。 – Marc
最後の2行の削除を、destination.deleteSheet(destSheet); '&' copydSheet.setName( 'Pictorial Calendar'); 'に変更するのはどうですか?基本的に元のシートを削除し、コピーの名前を変更します。 – mongoose36
ありがとうございました!最後の編集は、スクリプトが完璧に実行されるようにします。これは素晴らしいことです!あなたは本当に時間を節約し、多くの頭痛に感謝しました、もう一度@ mongoose36! – Marc