森住です。

またまたrubyネタです。

ユアシストでは一部の資料をGoogle SpreadSheetで管理しています。
業務のミス防止と効率化の為に、次のようなことができたらいいなと思いました。

1あるワークシート中のセルを別ワークシート中のセルと同期する
2セルに記述された日付の数日前にメールを送る

「ruby google spreadsheet」でググったらやっぱりありました!
google-spreadsheet-ruby

このgoogle-spreadsheet-rubyを使って、上記2点の機能を実装してみます。
1ができれば2もできる(眠い)ので、2の実装は割愛します。
まず、google-spreadsheet-rubyをインストールします

$gem install google-spreadsheet-ruby

次に、スプレッドシートのURLからkeyを取得します。
URLのkey=********************の部分です。

サンプルコードです。


require 'google_spreadsheet'

EMAIL = '*******' #Googleアカウントのメールアドレス
PASS = '********' #Googleアカウントのパスワード

session = GoogleSpreadsheet.login(EMAIL, PASS)
#スプレッドシート1のkey
spreadsheet1 = session.spreadsheet_by_key('*******************')
#スプレッドシート2のkey
spreadsheet2 = session.spreadsheet_by_key('+++++++++++++++++++')

#スプレッドシート1の1つ目のワークシート取得(ワークシートA)
worksheet1 = spreadsheet1.worksheets[0]
#スプレッドシート2の1つ目のワークシート取得(ワークシートB)
worksheet2 = spreadsheet2.worksheets[0]

#ワークシートAのセルA1をワークシートBのセルB1にコピー
worksheet2[1,2] = worksheet1[1,1]
#ワークシートBを保存
worksheet2.save



うまく使えば、スプレッドシートをデータベースの替わりに使えますね。