見出し画像

#114 指定されたフォルダの内容をコピーする

今回のプログラムは、作成したものの運用面で扱いづらいものかもしれません。注意事項や、所属している組織のルールなども踏まえてご利用ください。


はじめに

某所で

勤務校で使ってるGoogleドライブのデータを、個人アカウントに移行する手順って、どこかに出てませんでしたっけ?

というコメントがありました。この辺りの手順は、以下の動画で説明されています。児童生徒向けの案内となっていますが、異動になった教職員にも利用できる内容だと思います。

しかしながら… 上記の手順は、「Google データ エクスポート」を利用したものですが、組織や学校の方針によっては Google Workspace の設定によって制限されていて使えないケースがあるようです。

今回のプログラムは、異動にともなってデータを持ち出したいが、「Google データ エクスポート」が利用できないケースに役立てばいいな、と考えて作ったものです。

作成したプログラムについて

前述のような目的から、以下のようなプロンプトを作成して、ChatGPT にプログラムを作成してもらいました。

以下の条件を満たす GAS のプログラムを作成したい。

-[ ] 自身の Googleドライブに保存されたGoogleスプレッドシートが存在している。このスプレッドシートを {設定シート} と呼ぶ。 
-[ ] 前項のスプレッドシードが保存されているフォルダを {コピー先フォルダ} と呼ぶ。
-[ ] {設定シート} のセル B1 で {コピー元フォルダ} のフォルダ ID が指定されている。このフォルダにアクセスできるだけの権限は、事前に設定されているものとする。
-[ ] {コピー元フォルダ} のフォルダ名を取得し、{コピー先フォルダ} にその名前でフォルダを作成する。このフォルダを {ターゲットフォルダ} と呼ぶ。
-[ ] プログラムを実行することで、{コピー元フォルダ} に保存されているファイルとフォルダを、そのままのツリー構造で {ターゲットフォルダ} にコピーする。

今回のプログラムは、上記のプロンプトで得られた GAS のプログラムを、Google スプレッドシートに貼り付け、UI や説明を付したものです。
実際に見てもらえばわかりますが、30行に満たないコンパクトなプログラムとなっています。

ChatGPT が作成してくれたプログラムがそのまま動作するかは不安でしたが… 動作を確認したところ、今回のプログラムは手を入れる必要もなく、そのまま動作してているようです。

配布する Googleスプレッドシート

作成したプログラムは、Google スプレッドシートに埋め込んであります。以下の URL にアクセスして、自身のGoogle ドライブにファイルをコピーしてください。

作成した Google スプレッドシート
  • https://bit.ly/49S5KUr
    → 利用件数を確認するために Bitly の短縮 URL で掲載しています。

なお、プログラムをはじめて実行する際には、アカウントによる確認作業が必要になります。詳しくは以下の投稿をご覧ください。

今回の Googleスプレッドシートは、コピー先となる Google アカウントで使用します。マイドライブのコピー先にしたいフォルダに配置してください。使い方は次の通りです。

①フォルダ ID の指定

セル B1 にコピー元となるフォルダの ID を指定します。

  • ここで指定したフォルダは、自身のマイドライブ内のフォルダでなくても構いません。

  • GAS を実行するユーザーがアクセス可能なフォルダの ID であれば、処理対象として指定できます。

②プログラムの実行

フォルダ ID を指定したら、「コピー実行」ボタンを押します。すると、次のように処理が行われます。

  1. セル B1 に指定されたフォルダのフォルダ名で、この Google スプレッドシートが保存されているフォルダにフォルダを作成する。

  2. 前項 1. で作成したフォルダに、セル B1 で指定されたフォルダの中身をコピーする。 ※再帰的に同じフォルダ構成でコピーが作成されます。

補足、注意事項

著作権

児童生徒が作成したものについては、以下 URL の「Q1児童、生徒の作品にも著作権はありますか。」に沿って考えれば、著作者である児童生徒の著作権が有効と考えられます。

しかしながら、教職員については、業務として作成したものとして扱われてしまうでしょうから、以下 URL のように組織に帰属してしまうのかもしれないな、と思ったり...

とは言え、市町村といった自治体をまたいだ異動になると、Google Workspace の組織が変更になってしまうケースで、これまで作成した教材を持ち出せないのは辛いですよね…

セキュリティポリシー

このプログラムが実行できるということは、外部との共有が許可されているのでしょうが、「Google データ エクスポート」が制限されているということは、組織内のデータを持ち出すことを制限されているのだと思います。
組織のセキュリティポリシーに抵触しないように利用してください。

個人情報を漏洩させた人のイラスト

組織として微妙な判断になってくると、情報流出を防ぐ方に判断されているのだと思いますが、組織で定められたルールから逸脱しないように注意してください。

最後に

今回のプログラムは、ChatGPT に作成してもらったものを、スクリプトの内容を確認し、動作確認を行ったもので、わたし自身が一(いち)から作成したものではありません。わたしが一から作成すると、同じように再帰処理を用いたものになると思いますが、違ったものになっていたかもしれません。
何はともあれ、目的を達するプログラムが作成できたものの、プログラムの作成を半ば目的としている わたし にとっては、ちょっと物足りない感じがしないでもないです…😅

最後に、お決まりのフレーズなどを書いておきます。

  • 一応の動作確認は行っているものの、不慮のトラブルによって損害等が生じても、責任はとれませんので予めご了承ください。

  • コメントを含めても 30行に満たないスクリプトであり、実行に際して目的外の場所への書き出しや収集などは行っていません。

  • 特別なエラー処理は行っていないので、意図しないケースでエラーが発生してしまうかもしれません。どうにもならない場合には、ご連絡ください。

わたし自身にしてみると、このような「スクリプトを作ること」が目的になっているような感じですが、このスクリプトが何かの役に立てば幸いです。
「スキ ♡」を押してもらえると、このようなプログラム作成の励みになります。😍

この記事が気に入ったらサポートをしてみませんか?