2011年2月25日金曜日

仕事場の机の上

私の作業机はよくある事務机で、一体型のデスクトップパソコンと電話が置いてあります。
作業中はさらにいろんな書類やノート、筆記具が広がります。

パソコンの左側には小さなスタンド付きのカレンダーが置いてありますが、中身はカレンダーではなくショートカットキーのメモです。
業務でよく使うコマンドのうち、記憶していないものが列挙してあります。
こんなリストです。


E 列の非表示 Ctrl+0
E 列の表示 Ctrl+Shift+0
E 行の非表示 Ctrl+9
E 行の表示 Ctrl+Shift+9
OS ショートカット作成 Ctrl+Shift+Drag
E 左のセルコピペ Ctrl+R
E アクティブセル表示 Ctrl+Backspace
E 複数セルに同一値入力 Ctrl+Enter
E 列選択 Ctrl+Space
E 行選択 Shift+Space
E コメント挿入 Shift+F2
E ジャンプ F5
W レベル上げ Alt+Shift+←
W レベル下げ Alt+Shift+→
W 本文に Ctrl+Shift+N
W 印刷プレビュー Ctrl+F2
VBE ブレークポイント設定 F9
VBE 入力候補表示 Ctrl+Space
cmd ディレクトリ移動 cd
cmd ドライブ切替 cd /d
cmd FileList作成 dir /b > filelist.txt
cmd 指定拡張子のFileList作成 dir /b *.xls > filelist.txt

完全に身につくとリストから消えて、また必要なショートカットキーがあれば追記されます。
ショートカットキーを覚えると、仕事のスピードが変わってくるし、ショートカットキーでさくさく仕事をする自分が好きです 笑


デスクトップの背景画像は、ネットで拾ってきたGTDの画像に少しだけ手を加えたものを使っています。




画面の右側にある時間の表記が私が追加したものです。
この画像の横、つまりパソコン画面の右淵にそのタイムラインが対応します。
1日のスケジュール(タスク)を付箋に書き出し、タイムラインに沿って配置します。
途中で打ち合わせが入ったりという変更にも付箋1枚で対応できて便利です。
1日何をすべきなのかという小さなスケジュール管理ですが、これがさくっとできないことには大きなスケジュール管理もできないと思っていて、毎日がその練習です。


GTDやライフハックについては様々な情報がありますが、自分への最適化あってこそだと感じます。


2011年2月22日火曜日

ExcelVBAベーシック 資格試験

仕事でよくVBAを使ったちいさな仕組みを作るのですが、勉強のついでに資格試験に挑戦することにしました。
VBAエキスパートと呼ばれる資格で、VBAの中にさらにExcelとAccessの分野があります。
今回私が受けるのは「ExcelVBAベーシック」というものです。

独学でいろんなことを勉強していると、たまに"自分には一体何ができるのだろう"という疑問にぶつかります。
確かにこうして仕事をしているし、契約の延長話をいただいたりして評価は得ている、だけれども…
要するに自信をつけたいんですよね。
資格を持っていればすなわち仕事ができるかというとそうではないと思いますが、資格を持っていることで私の勉強に対する姿勢を示せたり、最低限できることを説明することができると思っています。
今のところ私が持っている資格は職歴と同じく貧相なものですが、それでもいくらかの自信を私に与えてくれます。

また、資格の取得へ向けた勉強をすることで今までアンテナを張っていなかった分野に目がいくようになります。
それが全く興味のない分野であることは少なく、むしろこんな分野があったのかという出会いであることが多いです。
そういう新しい知識との出会いの場という意味でも資格取得は自分にとってのプラス要素だなと思います。

3月19日土曜日、試験本番までもう少し勉強しようと思います。


----------------------------------------------------------------
メモ:VBAエキスパート試験申し込み手順

1.主催者のサイトから試験の情報を得る
http://vbae.odyssey-com.co.jp/index.html

2.ふむふむ、と納得したら申し込む…がその前に、IDの登録が必要
http://www.odyssey-com.co.jp/id/

3.登録が完了したら申し込む会場を探す(試験開催校によって日程が色々ある)
http://vbae.odyssey-com.co.jp/exam/location.html

4.会場と日時が決まったら申し込む

5.指定口座に受験料を振り込む
(受験料は12,600円です。…私には結構な負担w)

6.いざ出陣!

メモ:試験概要

・資格名称:Excel VBA ベーシック
・内容:
Excel VBAの基本文法
Visual Basic Editorを使った基礎的なマクロの読解・記述
・問題数:40問
・試験時間:50分
・合格基準:650~800/1000
----------------------------------------------------------------

2011年2月17日木曜日

VBEショートカットキー

VBEの操作で使えそうなショートカットキーを列挙しておきます。
日常的に使っているコピーやペーストについては触れません。
VBAについて勉強をしている中で、これは!と思ったものです。



コードウィンドウ
Ctrl + →右の単語へ移動
Ctrl + ←左の単語へ移動
Ctrl + Homeモジュールの先頭へ移動
Ctrl + Endモジュールの末尾へ移動
Ctrl + Shift + 方向キー単語単位、マクロ単位で文字列を選択
Ctrl + Delete単語の最後までを削除
Ctrl + BackSpace単語の先頭までを削除
Ctrl + Y現在行を削除
Shift + Tabインデントを戻す
Ctrl + ↓次のプロシージャ
Ctrl + ↑前のプロシージャ
F3次を検索
Shift + F3前を検索
Ctrl + Jプロパティ・メソッド一覧の表示
Ctrl + Shift + J定数の一覧を表示
Ctrl + Iクイックヒントの表示
Ctrl + Shift + Iパラメータヒントの表示
Ctrl + Space入力候補の表示
Ctrl + F2オブジェクトボックスに移動
F6コードウィンドウの分割時にペインを切り替える
メニュー
Alt + F11Excelへの切り替え
Alt + Q終了
Ctrl + Mファイルのインポート
Ctrl + Eファイルのエクスポート
F7コードウィンドウの表示
Shift + F7オブジェクトウィンドウの表示
Shift + F2定義の表示
Ctrl + Shift + F2元の位置へ移動
F2オブジェクトブラウザの表示
Ctrl + Gイミディエイトウィンドウの表示
Ctrl + L呼び出し履歴の表示
Ctrl + Rプロジェクトエクスプローラの表示
F4プロパティウィンドウの表示
F8ステップイン
Shift + F8ステップオーバー
Ctrl + Shift + F8ステップアウト
Ctrl + F8カーソル行の前まで実行
Ctrl + Wウォッチ式の編集
Shift + F9クイックウォッチ
F9ブレークポイントの設定/解除
Ctrl + Shift + F9すべてのブレークポイントの解除
Ctrl + F9次のステートメントの設定
F5Sub/ユーザーフォームの実行
Ctrl + Break中断
全てのウィンドウ共通
Ctrl + Tabウィンドウの切り替え
Alt + F5エラー処理ルーチンを実行する/呼び出し側のプロシージャにエラーを返す
Alt + F8エラー処理ルーチンをシングルステップで実行する/呼び出し側のプロシージャにエラーを返す
Alt + F6最後の2つのアクティブウィンドウの切り替え
Alt + F4アクティブウィンドウを閉じる/VBEの終了
Shift + F10ショートカットメニューの表示
ユーザーフォームウィンドウ
Ctrl + J最前面へ移動
Ctrl + K最背面へ移動

ふぅ。
結構たくさんあるってことがわかりました。
今のところ、用途がよくわからないショートカットキーもあります 苦笑。
しかしショートカットが割り当てられているということは、それなりの使用頻度だったり重要度だったりすると思うのです。
もっとVBAのこと、VBEのことを勉強してこれらのショートカットキーを有効活用したいものです。

IT業界で仕事を始めた当初から、私はショートカットキーを使うのが好きでした。
そしてそれによって仕事のスピードを上げていましたし、ミスもマウスを使うより断然少ないです。
GUIを駆使したアプリが増えてきましたが、業務で使うようなアプリはキー入力からの操作にもずっと対応していて欲しいです。

2011年2月16日水曜日

日経産業新聞を読む

出向先の現場には自由に読める新聞が毎朝置いてあります。
読めるのは日本経済新聞、朝日新聞、日経産業新聞、産経新聞です。

私は新聞ではなくニュースサイトやTwitterのニュース配信系アカウントをフォローすることで情報を得ていたのですが、新聞から発信される情報(図表での解説やレイアウトから生まれる情報など)もやはり欲しいと思い、仕事場にある新聞を読むことを習慣化する計画を立てました。
新聞代の節約、なんていうことも考慮しつつ 笑

よくわからないことをインプットしようとしても眠くなってしまうので今のところ日経新聞は通勤電車の中で人が読んでいるのをちらっと読むくらいです。
産経新聞は内容的に欲しい情報が少ないのでスルーしています。
で、仕事場に置いてあったので存在を知った日経産業新聞がこのところのお気に入りです。

産業新聞というくらいなのでいろんな業界の新規事業だったり研究開発、工場の稼動状況などが掲載してあります。
これがおもしろくてたまりません。
とにかく刺激的です。
今日は手ぶらで読みに行きましたが、明日からはノートとペンとiPhoneを持って行こうと思った次第。
記事を読んでいるといろんな思考が頭をかけていくのではき出したくなります。

業界のトレンドは経済状況を反映していると思うので、産業新聞を読むことは経済新聞を読むことにもなっている気がします。
経済的な数字をみても私にはピンときませんが、例えば海外事業展開の記事でその企業がどこにどれだけの規模で何を展開するのかを読めば、その地域がどれくらいの労働人口で経済規模なのか、どこにお金が流れていくのかがぼんやりとでもつかめます。
もっと経済のことを知れば具体的な数字や事象を伴ってこの事業展開の背景にあるものが把握できるのかもしれませんが、まぁそれは追々ということにしておきます。


何をどこからいつ得るのか、それをうまくやっていくのもIT屋さんには必要なスキルだと思います。

2011年2月10日木曜日

思わぬところに(アジャイル開発に関する書籍)

Remember The Milkの勉強リストの中に
「チームで物事を進める方法、自分がどう行動すべきかの参考書」
というのが入っているのですが、これは単独で仕事をすることばかりだった私がチームメンバーの一員としてうまく仕事をして行くにはどういう考え方をしたらいいのだろう、という疑問を解決することが目的で追加されたタスクでした。

それとは別に、「アジャイル開発に関する本を読む」というタスクがあって、アジャイル開発に興味を持った段階で書店で下調べをしており、チェックしていた書籍を先日購入しました。

斜め読みからスタートするのですが、半分あたりまで読んだ今、冒頭のタスクがピーンと頭の中に降ってきたのです。
チームでつまりプロジェクト単位で仕事を進めていくということ、その考え方や手法が書いてあるのはこの本だ!!と刺激的な出会いに興奮しました。
どこで何がつながっているかというのはわからないものですが、それがわかったときの覚めるような感覚はくせになりますね。

さてさて、続きを読むこととします。

2011年2月7日月曜日

要求仕様書とは何か、を探る

要求仕様書ってそもそもどんなドキュメントなの?
仕事場での受け入れテストをきっかけに、要求仕様書について学び始めました。

…仕事場でいろんなシステムに関するドキュメントに目を通していて、ドキュメントのそもそもの内容が知りたいと思いました。
当時現場で見ていたドキュメントは
・ユースケースシナリオ
・業務機能定義書
・ジョブフロー図
・画面定義書
・イベント定義書
・項目定義書
といったタイトルがつけられたものでした。
ユーザー部門による受け入れテストの最中で、私もそのチームメンバーの一人としてこれらのドキュメントに目を通すこととなりました。

さて、いざテストシナリオを起こすぞというときになって、これらの仕様書を見てもはっきりとテスト結果が予測できない事項が数多くありました。
ドキュメントとしてそんな内容でいいのか悪いのか、駄目だとしたらどうあるべきなのか、そう思ったのがきっかけです。

私は書籍から勉強することが多く、その補助としていろんなウェブサイトを閲覧したり、また別の本を買ってみたりしています。
今回もいつもと同じように本屋さんへ行き、要件定義関連の書籍をざーっと見ました。
その中で読んでみたいという内容だったのが「基礎から学ぶ!!ソフトウェア要求仕様書」という本でした。
※参考



読むポイントは"要求仕様書ってどんなドキュメントなの?"という疑問を解決するもしくは解決するためのヒントを得ること(長い時間をかけて読んでいたらこの目的を忘れて何をしたかったのか考えてしまいました 汗)。
この本から全てを得られるとは思っていませんが、何も学ばないわけにはいきません。

斜め読みから始まってもう3回ほど読みましたが、内容がだんだん冗長な感じがしてきました。
つまり、要求仕様書において押さえるべきポイントは要求仕様の書き起こしから内容をつめて完成させ、保守するに至るまで一貫して変わらないんじゃないか…
というところまで読んでます。
じゃあそのポイントは何か、というのを自分なりにまとめあげたいなと思っています。
きっとこの考え方は要求仕様書に限らずほかのドキュメント作成においても応用できる考え方だと思うのです。

まとめた内容はまたそのうちポストできればなと思います。

こうやって1冊の本からいろんなことを学び考える、この過程が好きです。
そしていつのひか自分が要求仕様書レベルのドキュメントを作成したりレビューしたりできる日が来るのが楽しみです。

2011年2月3日木曜日

電話番号データから局番区切りで文字列取得

人生初、VBAでユーザー定義関数を作りました。
内容はとても簡単なもの。
Excel関数レベルです。

別にユーザー定義関数にしなくてもプログラム的には問題なかったのですが、それだと書くのが面倒なのと、ソースがごちゃっとしてしまうのとでこうして関数を作りました。

関数が果たす要件は
・電話番号データから市外局番、市内局番、加入者番号をそれぞれ取得する
というもので、インプットされる値は
・半角数字と半角ハイフンで入力された電話番号
という前提をおいています。

プログラムを書く前に、A4用紙にざざっと構造を書きました。
直接開発環境に向かうと私の頭はとっちらかってしまうので、こうして手書きで構造を見える形にすることが多いです。

以下ソースです。
-----------------------------------------------------------------
'--------------------
Function GetTelNum1(TelNum1 As String) As String
'引数に与えられた電話番号(99-9999-9999)から市外局番を取得する
        GetTelNum1 = Left(TelNum1, InStr(1, TelNum1, "-", vbTextCompare) - 1)
      
End Function
'----------< end of Function >----------


'--------------------
Function GetTelNum2(TelNum2 As String) As String
'引数に与えられた電話番号(99-9999-9999)から市内局番を取得する
        GetTelNum2 = Mid(TelNum2, InStr(1, TelNum2, "-", vbTextCompare) + 1, _
            InStrRev(TelNum2, "-", , vbTextCompare) - InStr(1, TelNum2, "-", vbTextCompare) - 1)
      
End Function
'----------< end of Function >----------


'--------------------
Function GetTelNum3(TelNum3 As String) As String
'引数に与えられた電話番号(99-9999-9999)から加入者番号を取得する
        GetTelNum3 = Right(TelNum3, Len(TelNum3) - InStrRev(TelNum3, "-", , vbTextCompare))
      
End Function
'----------< end of Function >----------

-----------------------------------------------------------------

Excel関数でも似たような文字列の取得をよくやります。
この場合、Excel関数だったら
市外局番 = Left(A1,Search("-",A1,1)-1)
市内局番 = Mid(A1,Search("-",A1,1)+1,Search("-",A1,Search("-",A1,1)+1)-Search("-",A1,1)-1)
加入者番号 = Right(A1,Len(A1)-Search("-",A1,Search("-",A1,1)))
となりますかね。

もっと簡単な取得アルゴリズムがあるのかもしれませんが、私が今の知識で思いついたのは上記の内容でした。

ユーザー定義関数って、ちょっと一手間必要な処理に大活躍しそうですね。
今回は簡単な内容でしたが、できあがったものを使うのはとても楽しかったです。

これからもっといろんな関数を作ってみたいなと思いました。