Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

NetBeansでExcelを動かすrubyスクリプトを書くときのメモ

まず、保存するスクリプト文字コードがデフォルトではUTF-8なのですが、ExcelではSJISなので、デフォルトの文字コードSJISに変更します。こうすると、すべてのスクリプトSJISで保存されるようになり、また、表示したときにも文字化けしません。

具体的な変更方法は、

プロジェクトを右クリック→プロパティ→エンコーディングを「Windows-31j」にセット

です。

091209netbeans_sjis_hozon_2

しかしこれでも文字コードによるエラーが出ることがあります。具体的には「表」「暴」「予」などの文字がエラーの原因になります。このエラーを回避するには、rubyを実行する時のオプションとして「-Ks」を付けておくのが有効です(ちなみに残念ながら$KCODE='SJIS'では回避できません)。具体的な変更方法は、

プロジェクトを右クリック→プロパティ→実行→Rubyオプションを「-Ks」にセット

です。

最後に名前付き引数ですが、例えば

Worksheets.Add(count:=2, after:="Sheet1")

のような場合だと、Rubyでは

worksheets.add({'count'=>2, 'before'=>"Sheet1"})

のようにすればOKです。