Archive for 9月, 2012

Excel VBAでRangeをまとめる

9月 2nd, 2012

あるセルに「A1,A2,B1,B2」と入力し、VBAでこれらのアドレスを全て選択するメソッド作りたくて、下記コードをVBAで作成。

input_val =Cells(x,y).value
Range(input_val).select

おお、できたできた!!!

調子こいて、うん十件以上のアドレスをセットして・・・_| ̄|○

VBAが内部で落ちてます。どーしてだろう。

どうやら、Rangeに渡すパラメータ数が多いようで。

少なくするには、Unionメソッドを使うと、RangeオブジェクトとRangeオブジェクトを
1つのRangeオブジェクトにまとめられるらしい。
おお、これだよこれ。欲しかったのは。

早速、浮かんだコードをコーディング。

addr = split(input_val ,”,”)
set allRange = Range(addr(0))
for i = 1 To ubound(addr)
set newRange = Range(addr(i))
allRange = union(allRange , newRange )
next
allRange.select

これでいけるはず!

rails 2.3.11 でエラーメッセージ日本語化

9月 2nd, 2012

rails 2.3 でエラーメッセージ日本語化に悩むこと1週間?
「rails 2.3 エラーメッセージ 日本語化」で幾度と無く、Google先生にお伺いする毎日。

ん~、rails2.3 + GetText でヒットするページの手順を踏んでも
`gem_original_require’: no such file to load — gettext/rails

オレ乙 _| ̄|○

はい、スタートラインに戻ってやり直し。
検索キーワードに「まさか」と思いながら「rails 2.3.11 エラーメッセージ 日本語化」

ん~~~~~、なにやら、2.3.11からはGetTextじゃなくてi18nだよって!!!

はい、早速 i18n を調べたら出てきました。まさにやりたかった restful_authentication のエラーメッセージ日本語化!

rails2.2のものでしたが、ymlファイルの設定がほんとうにほんとうに若干違う程度で。
ありがとう御座います。

参考:Rails 2.2の国際化(i18n)を試す(2) restful_authentication #1

ruby on rails2.3での認証

9月 2nd, 2012

rails2.3での認証サンプルの覚書。

「Railsレシピブック183の技」からユーザ認証のサンプルを作ってみた。
まずはプラグインのインストール…って最初からつまずく。

ググるとありがたいことに、いっぱい出てきました。
どうやらインストール方法が違うみたい。

参考サイトの手順どおりやったら出来ましたよ。

■コマンド手順

rails sample
cd sample
script/plugin install git://github.com/technoweenie/restful-authentication.git
※ ここでフォルダ名を変更(ハイフンをアンダーバーに変更)
変更前:[project_root]/vendor/plugins/restful-authentication
変更後:[project_root]/vendor/plugins/restful_authentication

ruby script/generate authenticated user sessions
rake db:migrate

あとは、
xxx_controller.rb の「include AuthenticatedSystem」をカットして、
application_controller.rb にペースト。

テスト用ページを作成して実行。
ruby script/server

参考サイト:
Railsの認証プラグインを使う:restful_authentication
[技術][Ruby][Ruby on Rails]restful_authenticationを触ってみた

Excelの歯抜け連番

9月 2nd, 2012

Excelで資料を作っていると、連番振りたいことがあります。通常は、Excelの標準機能でどうにかするんですが、複数行の先頭にだけ番号を振って、次のブロックの先頭にだけ・・・っていうことをしたいと思うといちいち自分でて入力しなくちゃいけない。これが、更に途中にブロック挿入するとかなると、また手作業が増えます。

そんな時に便利な数式がこちらです。上の例ではA1,A5,A10にこの数式をセットしています。

=MAX(
INDIRECT(ADDRESS(1,COLUMN())&”:”&
ADDRESS(ROW()-1,COLUMN())))+1

さらにここで、A7に連番の番号を入れたい場合は、そのままA7にこの数式を入れてあげると、A10も更新されます。