ネリモノ系

Twitter: https://twitter.com/msbtjp

楽をしよう

時間がなくて勢いでコードをガリガリと書いていると、必ずテストで時間を食ってしまう。勢いで節約した時間分以上に。
勢いで書くと、普段なら当たり前のように書くコードが書けず、本当にベタな処理をしてしまいがちになるため、例えばファイルの存在チェックとかが物凄くダルい感じになる。

Dim hFso As New FileSystemObject
If hFso.FileExists(filepath_hoge) = False Then
  MsgBox "hogeファイルがfugaフォルダに存在しません。", vbOkOnly, "エラー"
  End
End If

こういう書き方をしていると、チェックする対象が多ければ多いほど冗長なコードになりがち。同じ処理がだらーっと。
しかもテストになってようやく発覚する文言の不統一。「存在しません」だったり「見つかりません」だったり。


じゃあどうするか。
Subればいいじゃない!

Private Sub MyFileExistCheck(filepath_hoge As String)
  Dim hFso As New FileSystemObject

  If hFso.FileExists(filepath_hoge) = False Then
    MsgBox hFso.GetFileName(filepath_hoge) & "ファイルが" & hFso.GetFolder(filepath_hoge) &"フォルダに存在しません。", vbOkOnly, "エラー"
    End
  End If
End Sub

こうすりゃ文言は一定だし、サブルーチンを呼び出すだけで処理できる。
コード量は大体1/3行+10行程度になるし。


とか書いてたらなんかやる気がなくなったので終わり。
こいつ自体勢いで書いたので、バグがあってもしらない。