TEMTECOMAI ORTHOSTATIC HYPOTENSION

元ダメプログラマで現ダメ中間管理職の駄文

March 2015

発売してすぐに買った HDL4-G2.0 ですが、もうかれこれ 7年近く使ってるのかな。 (発売日を勘違いしていなければ)
その間に Regza も 2代目になり、前の Regza で録画したものを泣く泣く捨てたこともありました。

そんな NAS ですが、ここ数ヶ月はファンの音がぶれ始めてブーンといううるさい音が部屋に響き渡っていました。
この NAS は天板の裏側に 2個のシロッコファンがついてるのですが、本体を逆さに置いたらファンの音が静かになったんですよ。
そうやって 1ヶ月ぐらい騙して使ってたのですが、それでもまたファンが爆音を出すようになったので修理を決行しました。
Amazon で ainex ってところの RSF-04 というロープロファイル用ファンを 2個購入。
こいつについている電源ソケットはこのままでは NAS につながらないので、新旧ファンの電源ケーブルを切断して NAS の基盤から出ているケーブルに半田付けすることにした。

ネジを回してブラケットを取り除く。
NAS のふたを開けてファンがつながっている基盤を分離。
ファンから基盤への電源コードをニッパーで切断し、先っぽを剥く。
購入したファンもコードを切断。
収縮チューブを通してから半田付け。
収縮チューブをドライヤーで温める。
これで完成。

ただ、旧ファンはネジ穴のところにワッシャーとゴムのスペーサーが挟まっているのでこれを外して新ファンで使わなければならない。
注意だね。

結果は見事な出来栄え。 ファンの音が気にならなくなったよ。
しっかし半田ごてなんて何年振りだろうか。

昔に比べて C# からも扱いやすくなったって話を聞いたんで C# でやってみました。
確かに扱いやすくなっている。
VBA の時にスルーしている Workbooks とか Worksheets とか Cells あたり、VSTO の記事ではきちんと漏らさず参照しては解放してあげないとならないって話だったけど、今回は VBA のようにスルーしてみた。
ドキュメント レベルのカスタマイズで、こいつが中心となって 2種類のファイルを読み込み、新規ブックにシートを 3つ作成してデータを吐き出す。 特に Excel のプロセスが残るようなトラブルもありませんでした。
いやー面倒くさくない。 楽ちん楽ちん。

とは言え、所詮は Excel の COM オブジェクトのラッパーでしかないので、セルへのアクセスが多いと速度が出ないですね。
Worksheet オブジェクトのインスタンス内包し、各種の独自メソッドなどを組み込んだクラスを作成してガツガツと数万件のデータを読み込んでは加工して出力していったんですけれど、数万件のデータを 1件ずつセルから入出力してるとスピードの遅さが気になって仕方がない。
ならば処理の進捗をカスタム作業ウィンドウにプログレスバーなどで表示してみようと思ったのですが、これも所詮は Excel です。 長い処理を行うプロセスから進捗具合を Excel の作業ウィンドウで受け取る術がない。
スレッドを分けるとかできないんですね。
というか VBA のようにカスタム作業ウィンドウのコードに処理を詰め込んでしまえばプログレスバーに進捗を表示できるんでしょうが、いくらなんでも開発言語のメリットを殺してますよね。

Excel アプリケーション自体を駆動することを諦め、Excel のドキュメントをコントロールするライブラリを探す時間がなかった。
2年ぐらい前に ClosedXML ってライブラリを使ったんだけど、ライブラリの完成度がいまいちだったのでいろいろ泣かされた記憶がある。
今はもっと成熟してるのかなぁ。 ほかにも同種のライブラリが出てきたりしてるのかなぁ。

ともかくそういう調査をしている時間がなかったので泣く泣く VBA で行うことになりました。
VBA ならば Office Developer Tools for Visual Studio 2013 を使うよりも処理は速そうだけど、やっぱ数万件のデータってのが気になる。 データが書き込まれているファイルを開いたら、シート上のデータを 2次元配列に一気に読み取って、すべての中間加工処理は配列の中で済ませることにした。
書き込みは処理の都合上 1件ずつセルに書き込むしかない。
それでも 3万件のデータ処理が 10秒ぐらいで終わる爆速ぶり。
VBA すげーな。
そしてこの種の処理に VSTO (というか Office Developer Tools for Office) は向かないのかもしれないね。
私のスキルが低いだけか。

期末ですね。
社内ツールの依頼があったので久々に VSTO についても候補に入れてみました。
ここ 2年ほどはネットワーク屋さんのような感じだったのでツール開発は浦島太郎。

Visual Studio 2013 をインストールしてみたんですが、C# のバージョン上がってたんですね。
VSTO (Visual Studio Tools for Office) って名前が消えちゃって、今は Office Developer Tools for Visual Studio 2013 っていうんですね。 長い名前ですね。 でも ODT とか ODTVS 2013 って読まないで、便宜上 VSTO って言ってる人も多いようですね。 ほんとはどう読んだらいいんでしょうかね。 わかりづらいですね。

最近の Visual Studio は定期的に Update されてて、Visual Studio 2013 は 2014年11月に出た Microsoft Visual Studio 2013 Update 4 ってのが最新なんでしょうかね。 Visual Studio 2013 Update 4 はここからもダウンロードできますし、もちろん Visual Studio を起動して [ツール]−[拡張機能と更新プログラム] からダウンロードすることもできます。
そして Visual Studio 2013 Update 4 には関連したリースもあって、その中に Office Developer Tools for Visual Studio 2013 もありました。 Office Developer Tools for Visual Studio 2013 - 2014 年 11 月更新プログラムって名前です。
ところがこの Office Developer Tools for Visual Studio 2013 (ホントに長い名前だなぁ) には専用のダウンロード ページが用意されていないようなのです。
Visual Studio 2013 Update 4 のページの本文にインストーラー ファイルへの直リンクが貼ってあるだけなんですね。 見つけづらいよ、ホントに。
それでも実際に私がダウンロードした時はこんな親切なページ見つからなかったんだよな。 英語のブログ記事の本文にあった直リンクからダウンロードしましたよ。

↑このページのトップヘ