質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

2回答

3041閲覧

複数あるGoogleドキュメントを全てtxtファイル形式でローカルに自動で保存したい。

uyig

総合スコア6

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/04/21 13:58

編集2020/04/21 16:39

複数あるGoogleドキュメントを全てtxtファイル形式でローカルに自動で保存したいです。

Googleドキュメントが複数あり、テキストファイルを作成するために一つずつ手作業で
ファイル→ダウンロード→書式なしテキスト(.txt)
とやっておりましたが自動化したく質問させてください。

Google検索で1週間くらいワードを変えて調べましたが、テキストファイルをローカルにダウンロードすることは記載されておらず、Google Driveに新規テキストファイルを作成することしかたどり着けませんでした。
ローカルにテキストファイルをダウンロードする方法を知っている方、教えていただけませんでしょうか?

ドキュメント内の文章は取得して、logに表示するところまではできています。

わかり辛い文章で申し訳ございませんが、どなたかご助言頂ければ幸いです。
宜しくお願い致します。

追記4/22(水)AM01:00現在
ドキュメント内の文字を取得してからドライブ内に新規フォルダを作成し、そのフォルダにテキストファイルを入れるということも考え以下を参考にしましたが、ドキュメント内の文章を新規テキストファイルに反映することができずでした。
https://teratail.com/questions/185107

const hoge = ‘ドキュメントのURL’;
const doc_hoge = DocumentApp.openByUrl(hoge);
var blob = Utilities.newBlob(“”, MimeType.PLAIN_TEXT, “hoge.txt”).setDataFromString(doc_hoge, “utf-8”);
DriveApp.createFile(blob);
console.log(blob);

追記:4/22(水)AM01:35現在
単純なことが抜けていました。
大変失礼しました。
以下を加えることで新規テキストファイル作成できました。

var hoge = ‘ドキュメントのURL’;
var doc_hoge = DocumentApp.openByUrl(hoge);
var doc_hoge = doc_MATOME.getBody().getText();

var blob = Utilities.newBlob(“”, MimeType.PLAIN_TEXT, “hoge.txt”).setDataFromString(doc_hoge, “utf-8”);
DriveApp.createFile(blob);
console.log(blob);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

私なら、質問者さんが提示されているコードをファイル名で検索する等してトリガーで定期的に自動実行させてテキストファイルを作成し、バックアップと同期を使ってローカルPCにダウンロードすることを考えます。

投稿2020/04/24 10:38

draq

総合スコア2573

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

GASとHtmlの組み合わせでなんとかなりそうです。
以下は、csvですが、uyigさんの技術力でなんとかしてください。
ローカルにファイルダウンロード

というか、検索であっさり引っかかってしまったのでuyigさんの意図と違うかもしれません。

投稿2020/04/21 17:07

mike2mike4

総合スコア894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uyig

2020/04/21 17:19

mike2mike4さん ご回答ありがとうございます。 実はプログラム言語など触ったことがなく、 サイトを巡回しまくってようやく1週間ほど経過し、何となくですが覚えたてくらいなので、 mike2mike4さんがリンク先を教えてくださいましたが、そのサイトを理解するのに程遠いかもしれません。。。 勉強して、出来たこと出来ないことなどを共有、質問しても良いでしょうか? 他力本願で申し訳ございません。 ありがとうございました!!
mike2mike4

2020/04/21 17:31

getData()関数はちょっと工夫しなければなりませんが(textデータを返すようにする) dialog.htmlは var blob = new Blob([ content ], { "type" : "text/csv"}); を var blob = new Blob([ content ], { "type" : "text/plain"}); に変えるだけです。 大丈夫、それほど難しくないのですよ。
uyig

2020/05/01 13:52 編集

返信がだいぶ遅くなり、申し訳ございません。 試行錯誤の結果、指定フォルダ内にtxtファイルを新規作成することしかできませんでした。 しかしながらヒントを教えてくださったmike2mike4様にベストアンサーを送りたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問