見出し画像

#115 指定されたフォルダの内容をコピーする(補足)

過日の ↓ のプログラムですが…

ChatGPT を使って、短時間で作成できたのはいいのですが、

このフォルダにアクセスできるだけの権限は、事前に設定されているものとする。

と条件を付けたこともあるのでしょうが、エラー処理の類がまるで行われていないプログラムでした。そのため、コピー対象のフォルダの中に、閲覧権限はあるものの、「閲覧者と閲覧者(コメント可)に、ダウンロード、印刷、コピーの項目を表示する」のチェックが外されていた場合、もちろんコピーができません。

共有の設定画面

このような場合に、先のプログラムではエラーが発生して処理が途中で止まってしまいます。

このような事象に対応するために、プログラムに手を加えて、下図のようにチェックボックスを設けました。

「ログの書き出し」を設定可能に!

このチェックボックスを「オン」にしておくと、このスプレッドシートの下部にどのようなファイルをコピーしたのかをログとして書き出し、コピーができた/できなかったを、〇 / × でわかるようにしました。
このチェックボックスを使えば、どのように実行されたかがわかるだけでなく、途中にコピーできないファイルがあっても、最後まで処理を一通り行ってくれます。

修正したプログラムは、↑ の先の記事で案内している Google スプレッドシートに上書きしてありますので、この機能を使う場合にはコピーし直してください。

また、注意点として、このスクリプトは大量のファイルやフォルダをコピーする場合、↓ の記事でも触れていますが、Google Apps Script の実行時間制限に達する可能性があります。その場合には、フォルダ毎に分割して処理するなどの対応を行ってください。

今回のプログラムは、自身の Google Workspace アカウントの Google ドライブに保存されているデータを、私的な Google アカウントや他の自治体の Google Workspace アカウントにコピーしたいときに使うことを想定したものなので、今回追加したようなコピーできないエラー処理が必要になることはないかと思うのですが、ログ機能の追加を兼ねて追加しました。

先の投稿にも記載しましたが、適切な利用をお願いします。🫡


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