LANG SELRCT

コードを書く場所

2019年10月18日金曜日

Googleドライブ内の特定ファイルをコピーして自動で開きたい


ファイルをコピーして指定フォルダに入れる
というのをワンクリックでやりたくて書きました。



コード.gsの FILE_ID と FOLDER_ID を指定して

公開 > ウェブアプリケーションとして導入して


発行されるWebアプリのURLを開くと

指定したファイルのコピーが指定したフォルダに作成されてブラウザに表示されます。



コード.gs
function doGet() {
  var link = copy_file_to_foder();
  return HtmlService.createHtmlOutput(
    '<a id="alink" href="' + link + '"></a>' + 
    '<script>document.getElementById("alink").click();</script>'
    );
}

var FILE_ID = "コピー元のファイルID";
var FOLDER_ID = "コピーしたファイルを入れたいフォルダID";
function copy_file_to_foder() {
  var file = DriveApp.getFileById(FILE_ID);
  var file_name = file.getName();
  var copy_file_name = "Copy of " + file_name;
  var folder = DriveApp.getFolderById(FOLDER_ID);
  file.makeCopy(copy_file_name, folder);
  var url = file.getUrl();
  Logger.log(url);
  return url;
}


関連記事

スプレッドシートをマイドライブにコピーする
ファイルをコピーして指定フォルダに入れる
スクリプトファイルをコピーして指定したフォルダに入れる
HTMLServiceのテンプレートファイルをワンクリックで作成したい