つらつら Excel VBA

私の備忘録です。

関連付けられたアプリケーションでファイルを開く

Dim WSH As Object

Set WSH = CreateObject("WScript.Shell")
WSH.Run Chr(34) & FilePath & Chr(34)

'Set WSH = Nothing

※Chr(34)でFilePathを囲む必要がある。Chr34はダブルクォーテーション。
囲まないとファイルパスに空白が含まれていた場合に失敗する。

以上。

On Error なんたらエラー処理

Sub Sample1

    On Error GoTo onErr

    'エラーが起きるような処理

    GoTo onEnd 'Exit Subなど

onErr:

    'エラー時の処理を記載

    Debug.Print Err.Number 'エラー番号
    Debug.Print Err.Description 'エラーメッセージ

    Resume Next 'エラー発生個所に戻る?未検証
onEnd:

End Sub

'※Err.Numberの種類別にエラートラップしたい方はご自由に。




'その他

On Error Goto 0  'エラートラップを無効化

On Error Resume Next  'エラー発生時も気にせず次の行へ

デバッグ作業

VBEにおいてデバッグでよく使うヤツ

[表示]-[ツールバー]-[編集]  主にコメント設定で使用

[表示]-[イミディエイトウィンドウ]  Debug.Print の出力ウィンドウ

[表示]-[ウォッチウィンドウ]  実行中の変数の中身を確認・編集ができる

 

ショートカットキー

[F5]  実行

[F8]  ステップ実行

構造体配列

Option Explicit

Public Type FileInfo '構造体の宣言
    no As Integer
    name As String
    title As String
End Type

Public FileInfoList(10) As FileInfo '構造体配列の宣言


'こんな感じ(動作未検証)

Dim fi As FileInfo
fi.no = 1
fi.name = "Name"
fi.title = "Title"
FileInfoList(0) = fi