2024年9月22日

GASを使ってGoogleドライブファイルの一括ダウンロード(改良版)

宮島弥山山頂から
宮島弥山山頂から



さて,前々回,GoogleドライブからローカルPCへ一括ダウンロードを実証しましたが,全てのダウンロードファイルをBase64エンコードで変換して,GASからHTMLに引き渡すテーブル(二次元配列files)に格納しました。

そのため,テーブル自体が大きくなりすぎ,ブラウザにおいてエラーが発生する恐れがありました。


GASを使って複数ファイルの一括ダウンロード実証

GASを使って複数ファイルの一括ダウンロード実証

GASを使ってGoogleドライブ内にある複数のファイルを一括でダウンロードする方法を実証した


そこで,今回はダウンロードファイル毎に,GASで「ファイル本体Data」を作成しHTMLに引き渡すように改良しました。

HTMLとGASとのやり取りは多くなりますが,GASからHTMLに渡すテーブル(二次元配列files)は小さくなり,ブラウザの容量オーバーなどの危険性は回避できると思います。

それでは学習を始めましょう。

2024年8月29日

BloggerにおけるJavascriptコードの文字化けについて

 
南洋の島から見る夕陽
友人からもらった沖縄の写真



前回までGASについて学んできましたが,その過程で「javascript」についても学習しました。これによって,Web画面に動きを与えることができます。

ところが,Bloggerサイトで「javascript」を使うと,メッセージ文で文字化けの事象が発生しました。

他のブログサイトでは起きないと思いますが,ちょっと困りましたので簡単に対応方法を記述します。

それでは学習を開始します。

2024年8月24日

GASを使って複数ファイルの一括ダウンロード実証


宮島弥山山頂から
宮島弥山山頂から


久しぶりに宮島の弥山に行ってきました。暑い夏の登山は結構疲れます。

さて,前回はローカルPCファイルからGoogleドライブへの一括アップロードでしたが,今回はGoogleドライブからローカルPCへの一括ダウンロードになります。

ブックマークレットの検証で暫く時間をとられましたが,GASのダウンロードについて,ある程度知見を得ましたので投稿します。

業務の自動化に関するシステムを作成していると,どうしてもGoogleドライブとローカルPC間で多数のファイルのやり取りが発生する場合があります。

Googleドライブからダウンロードする簡単な方法としては,GoogleドライブファイルのダウンロードURLを取得してwindow.open関数を利用する方法が考えられます。

しかし,window.open関数ではポップアップブロック問題があるため,どうしても1ファイル毎に手動によるダウンロード指示が入ります。

これでは,一括してファイルをダウンロードしたい場合に具合が悪く自動化に適しません。

そこで,今回は前回と同様にBase64エンコードを利用したやり方で,複数ファイルを一括してダウンロードしてみたいと思います。

それでは学習を始めましょう。

2024年6月13日

GASを使ってテキストファイルの複数アップロードとイメージファイルアップロードの実証


四国今治城
四国今治城  


愛媛県の今治城に行ってきました。この城は戦国時代に藤堂高虎が作った城で,海水を堀に引き込んでいるのには驚きました。

さて,前回はGASを使って一つのテキストファイルに限定したアップロード方法を記述しました。

GASを使ってローカルPCの日本語テキストファイルをアップロードし英語に変換してみた。

GASを使ってローカルPCの日本語テキストファイルをアップロードし英語に変換してみた。

Google Apps Script(GAS)を使ってPCのローカルテキストファイルをアップロードし,加工・蓄積するGASスクリプトを作成する


今回はこれを複数ファイルでも可能にします。ついでに,PDFやイメージなどのマルチファイルアップロードについても検証してみました。

方法としては,PC側で伝送ファイルをBase64ファイル形式に変換して伝送し,GAS側でデコードする方式を使います。

Base64とは、64進数を意味する言葉で、すべてのデータをアルファベット(a~z, A~z)と数字(0~9)など64種類の文字コードで表すエンコード方式です。

昔は文字コードしかファイル伝送出来なかったので,イメージファイルなどを文字コードに変換してファイル伝送する方法を考えたということです。

全てのファイルは,バイナリーデータの集合体として考えることができますので,データを文字列にして送信するのは応用範囲が広いと考えます。

それでは,複数ファイルの入力方法とドラッグ&ドロップの改良をやった後,伝送方式をBase64形式に改良することにします。

では学習を始めましょう。

2024年5月31日

GASを使ってローカルPCの日本語テキストファイルをアップロードし英語に変換してみた。

 

亀老山山頂から望む来島海峡
亀老山山頂から望む来島海峡 


Google Apps Script(以下,GASという)を使う機会を得たので,ついでにローカルパソコン(以下PCという)のテキストファイルについて,GASではどのような扱いになるか学習することにしました。

今回は,PCにあるローカルテキストファイルをアップロードして,加工・蓄積するGASスクリプトになります。

仕事でPCを使う企業は,セキュリティ上,社内に情報を閉じ込める事が多く,そのためPC常駐ソフトであるマイクロソフトエクセルのVBAや自主開発ソフトを使う事が多くなります。

しかし,それではクラウドなどの外部サービスを使えないため発展性に乏しく,生産性や競争力が見劣りすることになり,外部のサービスをどのように活用して行くかが今後の課題です。

そのような中,Google Apps Script(GAS)は時間制限や処理回数制限があり,クラウド特有の使いづらいさはありますが,小規模な事務作業の効率化やデータバックアップ,外部WebAPIへの応用などで利用価値があると考えます。

この主旨に則り,ローカルPCにある日本語テキストファイルをブラウザ機能を使って,GoogleドライブのGASスクリプトにアップロードし,英語に翻訳後スプレッドシートに出力してみました。

GASスクリプトに入ってしまえば,アップロードファイルをドキュメント変換することも容易ですが,GASには,エクセルVBAのようなテキストファイルを直接読み書きする関数がないため,ファイルを全て配列に読み込んで加工後出力します。

今回は,スクリプトの処理結果を早く見たかったので,この出力部分をスプレッドシートにしています。

テキストの翻訳なんて,今ではあまり珍しくありませんが,GASの関数で行えるのにはちょっと驚きました。

それでは,学習を開始します。