コピペプログラミング
このスクリプトを、SpreadSheetのマクロ風にメニューに表示させて、フォルダのURLをポップアップのメッセージボックスから入力できるようにしました。まぁ、汎用的に使えるようにという感じです。
シート自体を開放するので、ご自由にお使いください。といいたいところですが、編集権がいるので、Facebookのメッセンジャーか、こだいらあたりでCivicTechかで、メールアドレスをお知らせいただけると、共有いたします。
役にたったな。。と思ったら
アマゾンギフトE-mailタイプで、
使い方
最初に使う時
マクロを追加して、メニューを出します。これには実行を承認する必要があります(Google App Scriptに共通ですが)
ツール・マクロ・インポートを押します。
この中で、Tom_onMenu の 関数を追加します。
マクロを実行します。マクロ・Tom_onMenuです。
承認の画面類
これで、Menuが出てきます。
ファイル名・URLの取り込み
URL名前Getというメニューがでていますので、Drive読込 をクリック
ポップアップが出てきますので、ファイル名と、URLを取得したい Google DriveのフォルダのURLをコピーして入れてください。
通常、↓みたいなURLです。
https://drive.google.com/drive/u/0/folders/dacaKDHhoearhaohfaDHPFIUD
そうすると、こんな感じで、ファイル名と、URLが取り込まれます。
共有して使う場合は、あとで、情報を消しておいた方がいいかもしれないので。。クリアするメニューもつけておきました。↓のシート1クリアを押すと、綺麗に消えます。
コピペでプログラミング
コピペで使いたい方のために。。
メッセージボックスに入力して、ファイル名、URLを取り出す関数
function Tom_getFileListInFolder() {
//フォルダのURLを入力してもらいIDを指定して、SpreadSheet の シート1に、ファイル名と、URLを取得して、SpreadSheet に書込み
try{
var folder_name = Browser.inputBox(‘Google DriveのフォルダURLを入れてください’);
var folder_id=folder_name.replace(‘https://drive.google.com/drive/u/0/folders/’,”);folder = DriveApp.getFolderById(folder_id);
files = folder.getFiles();
list = []; //この変数のファイル名・URLが入っていきます
rowIndex = 1; // The starting row of a range.
colIndex = 1; // The starting row of a column.
var ss;
var sheet;
var range;
sheetName = ‘シート1’; //デフォルトのシート名がシート1です。list.push([“ファイル名”,”URL”]);
while(files.hasNext()) {
var buff = files.next();
list.push([buff.getName(), buff.getUrl()]);};
ss = SpreadsheetApp.getActive();
sheet = ss.getSheetByName(sheetName);
range = sheet.getRange(rowIndex, colIndex, list.length, list[0].length);// 対象の範囲にまとめて書き出します
range.setValues(list);
}catch(e){
Browser.msgBox(e);
}}
シートを綺麗にクリアする関数
function Tom_clearSheet(){
//シート1を全部クリア
try{
var ss;
var sheet;
var range;
sheetName = ‘シート1’; //デフォルトのシート名がシート1です。ss = SpreadsheetApp.getActive();
sheet = ss.getSheetByName(sheetName);
// 全クリア
range = sheet.clear();
}catch(e){
Browser.msgBox(e);
}
}
メニューを出す関数
function Tom_onMenu() {
// スプレッドシートにメニューを追加する関数
SpreadsheetApp
.getActiveSpreadsheet()
.addMenu(‘URL名前Get’, [
{name: ‘Drive読込’, functionName: ‘Tom_getFileListInFolder’},
{name: ‘シート1クリア’, functionName: ‘Tom_clearSheet’},
]);
}
コピペの場合、なぜか全角が入ることがあるので、エラーが出たら ’ や ” の文字あたりに全角が入ってないか確認してみてください。
役にたったな。。と思ったら
アマゾンギフトE-mailタイプで、
15円からお布施いただけます。