スプレッドシートを日次バッチで更新したい

3,569 views
Skip to first unread message

KEI M

unread,
Oct 23, 2013, 4:12:12 AM10/23/13
to google-app...@googlegroups.com
はじめまして、よろしくお願いします。

日次更新したいスプレッドシートがあります。(Uiフォームの入力チェックで参照するものです)
更新元はWindowsファイルサーバーにある、特定のCSVファイルです。

スプレッドシートのファイルメニューにある「インポート」の機能が速くてスマートなのですが
トリガー起動できなさそうなので、スクリプトを作って時間起動処理したいです。

そこで、http://qiita.com/ms32/items/7e180c1c1d00fa8df647で提供されているソースがバッチリ動作確認できたので 
ファイル選択ダイアログでファイル取得する部分を、対象ファイルの決め打ち指定に改変しようとしました。
しかし不勉強のため、BLOBオブジェクト変数へのファイルの渡し方がよくわかりません。。

※予想で

 var fileBlob="file://%81%8B%E9%83%A/xxxx.csv";
 readData = fileBlob.getDataAsString();

と書いてみたら、getDataAsStringがエラーに...

どう書けば動くのか気になります。。

しかし、この方法にはこだわりません!
サーバー上の決まったCSVで、スプレッドシートを日々バッチ更新する方法をどなたかご存知ないでしょうか?

soundTricker

unread,
Oct 23, 2013, 4:52:16 AM10/23/13
to google-app...@googlegroups.com
こんにちは
大橋(soundTricker サントリー)です。

GASの場合、ファイルを取得するには基本3つのいずれかの方にになります。

1. Google Drive上に置いて取得する ※コードは例
DriveApp.getFileById("file id").getBlob()

2. UrlFetchでサーバからHttp経由で取得する ※コードは例
UrlFetchApp.fetch("http://example.com/hoge/fuga").getBlob()

3. UiAppやHtmlServiceで人がファイルアップロードして取得する

ファイルサーバ側から何かしらの方法でGoogle Drive上に上げていただくか、
ファイルサーバ側のファイルをHTTP経由で取得する方法(Webサーバ建てるなど)をする必要があります。



KEI M

unread,
Oct 23, 2013, 5:24:54 AM10/23/13
to google-app...@googlegroups.com
なるほどです。。
環境柄、日々オペレーションでインポートするのが現実的なようです。
回答ありがとうございました!

2013年10月23日水曜日 17時52分16秒 UTC+9 soundTricker:

masakih

unread,
Oct 24, 2013, 2:12:05 AM10/24/13
to google-app...@googlegroups.com
単純に、ローカルのCSVファイルをGoogle Driveにアップロードすることでよろしければ、
「google-docs-upload」というツールがあります。

これをタスクで定時に走らせて、ローカルのCSVファイルを定期的にアップロードして、
あとはGoogle Apps Script側で処理しています。

毎回同じ名前のファイルをアップロードする場合、基本的に最新のアップロードファイルで上書きしてくれますが、
たまに上書きされず、同じファイル名が2つできてしまうことがありますので、
GAS側で更新日時が最新のファイルを見るようにしてます。

KEI M

unread,
Oct 24, 2013, 3:50:47 AM10/24/13
to google-app...@googlegroups.com
回答ありがとうございます!
これのツールは有料なのでしょうか?
最初に書くのを失念しておりましたが、できればお金をかけない方法が希望です。。

2013年10月24日木曜日 15時12分05秒 UTC+9 masakih:

masakih

unread,
Oct 24, 2013, 5:10:40 AM10/24/13
to google-app...@googlegroups.com
あまり意識していませんでしたが・・・
無料で利用できるかと思います。

Downloadsタブからダウンロード可能です。
Java実行環境が必要、など注意書きがあるようですので、ご覧ください。

Message has been deleted

KEI M

unread,
Oct 24, 2013, 6:19:30 AM10/24/13
to google-app...@googlegroups.com
無料ですか!
英語が苦手なのですが、試しにダウンロードしてみようかと思います!!

ちなみに、Windows環境での話ですが
こちらの方法でもGoogleドライブにファイルをあげられました。
(Windows 版Google ドライブ+バッチを使う方法です)

どうやらドライブにファイルをあげたり(スプレッドシートにインポートしたり?)っていう作業は
みなさん結構やる必要があるようなので、標準機能になればいいのにな~と思ったりです。


2013年10月24日木曜日 18時10分40秒 UTC+9 masakih:
Reply all
Reply to author
Forward
0 new messages