2006年04月20日 木曜日

SquareENIX / Final Fantasy XI 「アトルガンの秘宝」

最近はやることといえば引越しの準備(実は嫌いなので作業は進まない)くらいしかないので、もっぱら日が落ちるとFFXI三昧な日々なのだが、拡張ディスクが発売されたということで、発売日にしかも真昼間から、PC版とPS版を購入することに・・・ ああっ、ますますだめだめな生活に。
とりあえず昼過ぎの段階で拡張コンテンツの登録に数時間を要する事態になっていたが、やはり失業中という立場は便利なもので、夕方にはログインできていた。
とりあえず必須そうなクエストをこなして、新マップの方面に出かけることができたが、LinkShellの仲間の大部分は拡張コンテンツの登録ができなかった模様、毎度新ディスクの登録で大騒ぎだが何とかならないものか。北米が有利な気がするのは気のせいか。何とかしてほしいところ。
新エリアは雰囲気としては音楽や服装は中東のイスラム圏のような雰囲気、町の外の景観は森が非常にきれいというか、目がちかちかするくらい書き込みが細かい。あと町から一歩外に出ると見る敵がすべて自分から見てかなり強い。(モンスターのレベルは70くらいなのかな?) レベル上げができなくなってかなり久しい状態なので、しばらく新エリアで楽しめないのかなあと思った1日でした。

2006年04月14日 金曜日

退職

転職する事となり、2年間の短い間でしたが、今日を持って退職しました。同僚に恵まれた2年間でした。お世話になった皆様、ありがとうございました。
転職の動機はいろいろあるけれど、前の転職の動機が生かせたのかどうか自分で考えるところも多いように思います。まだ辞めるべきではなかったのかもしれません。2年間の短い間でしたので、より努力して続けるべきかどうか1ヶ月ほど悩んだ末に、やはり転職しようと思いました。
3月27日の記事にも書きましたが、より興味深い仕事、より良い処遇、よりよい報酬でスカウトされたと言うのが、今回の転職の経緯です。あとやっぱり僕自身が会社の中にあって異文化な人間だなというギャップを2年かけても消し去ることができなかったということはあるかもしれません。そんなわけで仕事の中身や処遇と住環境や友人関係の広がりをすべて掛け合わせても、ここにいるよりも、そんなわけで自分を必要としてくれるであろう職場で仕事をした方が良いだろうという結論を下したわけです。
来月にはもとの会社でやっていた分野に戻ることになったわけですが、振り返って思えば、近隣の分野の仕事をしてきた経験は、かなり自分の知識やスキルの足しになったのではないかと思っています。そういう点では僕自身は得たものは多いと思います。反面前の転職と異なり会社に残したものがほとんど無いというところが心残りではありますが・・・ (1ヶ月以上考え込んだのは、ここだけが気になっていたわけですから。)
今後は今日までいた会社から見れば、またユーザーの立場に戻るわけですが、背景のネタもいろいろ仕入れたということで、今後は今までいた業界に対しては鋭角に切り込む視点で仕事をしていこうと思います。視線は刺すように、手に持つ武器は破壊力が大きな鈍器を持って立ち向かっていこうと思います。僕自身は今日までいた会社ではほとんど猫をかぶっていて見せたことはあまり無いですが、遠慮とか言う概念とは本来縁遠い人です。(自分で言うのもアレですが。) 今後は厳しい人が相手に回ったと思って、僕も皆さん切磋琢磨していきましょう。前回の転職でもそうでしたが、転職しても縁は切れないと思うので、別な方向からまた一緒に良い仕事ができればよいなと思っています。その時にはよろしくお願いします。
そんなわけで、明日からGW明けまで失業中となってしまいました。明日から引きこもった生活にいそしもうと思います。

2006年04月10日 月曜日

Excel VBA Hacks (4)

前回まではテキスト処理を中心に書いてきたが、Excelと言えばワークシートを使ってなんぼ。ということで、ワークシートを使うお題から。先日つらつら仕事をしていて、Excelで書いた表の升目の大きさに合わせて、写真を貼らなければならない資料を作る必要が生じた。まぁ数枚だったら適当に貼り付けるのだが、さすがに貼り付ける写真の枚数が総数で400枚を越えると考えも変えざるえない。貼る時間よりマクロを書く方が数段速いので、サクサクこんなツールを書いてみる。

Option Explicit
Sub InsertImages()
    Dim FileName As String
    Dim c, cs As Range
    Dim fs As Object
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set cs = Selection
    For Each c In cs
        FileName = c.Value
        If fs.FileExists(FileName) = True Then
            c.Value = ""
            With ActiveSheet.Pictures.Insert(FileName)
                .ShapeRange.LockAspectRatio = msoTrue
                .ShapeRange.Height = c.Height - 2   ' 画像の高さをセルの高さに適当に合わせる
                .ShapeRange.Width = c.Width - 2     ' 画像の幅をセルの幅に適当に合わせる
                .ShapeRange.Top = c.Top + 1         ' 画像の上側の辺をセルの上側の辺に適当に合わせる
                .ShapeRange.Left = c.Left + 1       ' 画像の左側の辺をセルの左側の辺に適当に合わせる
            End With
        End If
    Next c
End Sub

使い方は、写真を張り込みたい表を作ってしまって、写真を貼り付けたいセルに貼り付けたい写真のファイル名をフルパスで入力。あとは写真を貼りたいセルをすべて選択して上のマクロを実行。あっという間に作業は終了。ちなみに写真はセルに対して貼り付けられる訳ではなくワークシートに対して貼り付けられるので、貼り付けるときに必要な座標は大きさはワークシートの左上を原点とした座標(ポイントが単位)。貼りたい場所と大きさはファイル名を書き込んだセルの位置と大きさを知れば良いというのが、このマクロのありがたいところ。リストも簡単だし、だれでも理解できるように書いてみた。
あといっぱいファイルがあるので、入力するのがめんどくさいという無精な人(僕のことか)のために、ファイル名のリストをセルに書き出すマクロも付けておこう。このマクロを新規のシートで実行すると、「ファイルを開く」ダイアログボックスが出て、そこで処理したいファイルを全部選択(適当なディレクトリに入れておいて全部選択すれば簡単ね)してOKボタンを押すと、ファイル名を昇順ソートして出力するから、これをコピぺするとよろしい。

Option ExplicitSub getFilenames()Dim astrFilename As VariantDim test As CollectionastrFilename = Application.GetOpenFilename _(FileFilter:="JPEGファイル(*.JPG;*.JPEG;*.JPE),*.JPG;*.JPEG;*.JPE,TIFFファイル(*.TIF),*.TIF,PNGファイル(*.PNG),*.JPG,すべてのファイル(*.*), *.*", _Title:="必要なファイルを選択して,「開く」ボタンを選択してください。「カンマ(,)」と「コロン (:)」で区切ります。", _MultiSelect:=True)If IsArray(astrFilename) = False ThenIf astrFilename = False ThenMsgBox "「キャンセル」ボタンを選択しました"End IfElseDim FileNames() As StringDim i As IntegerDim SortRange As RangeReDim FileNames(UBound(astrFilename))For i = 1 To UBound(astrFilename)ActiveSheet.Cells(i, 1).Value = CStr(astrFilename(i))Next i' ファイル名を昇順に並び替えSet SortRange = Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(1, 1).End(xlDown))SortRange.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _SortMethod:=xlPinYin, DataOption1:=xlSortNormalEnd IfEnd Sub

適当にレイアウトして欲しいと言う意見はあるかもだけども、僕の用途ではいつも行数と列数が一定ではなく、ころころ変わることもあり、これで十分と言うことで、あとの改良は読者へのの宿題としたい。(おもしろいのを作ったら教えてくださいな。)

もっと読む

2006年04月05日 水曜日

とりあえず日記を補完

いろいろ公に書けないことがあることと、写真関係の編集がなかなか手つかずだったので、ずっと更新できてませんでしたが、とりあえず写真と買い物記録だけ更新。あとはもう少ししたら書き足す予定。

2006年04月02日 日曜日

向井 淳 / 入門Haskell - はじめて学ぶ関数型言語

Perl6-Pugsの登場以来(で正しいと思う)、純粋関数型言語のHaskellが熱いと言うことで、何か良い入門書はない物かと思っていたのだが、なんだか書店の棚を見ていると目にとまったので購入してみた。Haskellも入門書が出る時代になったということで、全く持って素晴らしい。
ただこの本はさらっと読んでみて、さらっとおしまいという感が強く、入門書として_何が何でもHaskell_という押しがないのは事実かも。なんだか説明がちっとも頭に入ってこない。熱意は感じるんだけど空回りしているかなと思うのである。あと入門書を読んでいつも思うのだけど、あとで説明するという言葉はのは書かない方がよいと思う。さらっと書いて知らんぷり(どうせそこでは本質的ではないのだから呪文としちゃうでも良い、たいてい書かなければ気が付かない)をして、あとで説明すればいいと思うのだが、「あとで説明する」と来るとイライラしてしまうのである。
とりあえずおもしろいので、ざくざく読んでいる。手も動かすべく処理系もインストールしたから、ぼちぼち手を付けてみよう。あと青木さんが「ふつうのHaskellプログラミング」を執筆中なので、こっちにも期待したいところ。