hakeの日記

Windows環境でプログラミングの勉強をしています。

2016-02-01から1ヶ月間の記事一覧

EXCEL VBAメモ - エラー処理

Option Explicit Sub test() On Error GoTo ErrHandler 'エラー発生時のジャンプ先 Dim a As Long a = 1 / 0 ' エラー発生 MsgBox "エラー発生行の次へジャンプしました。" On Error GoTo 0 ' エラー処理の無効化 Exit Sub Label1: MsgBox "Label1へジャンプ…

EXCEL VBAメモ - クラスの定義と使用

メンバ変数へのアクセスはプロパティで行う。コンストラクタの引数でメンバ変数へ値を設定することはできない。検索すると裏技で対応方法がいろいろ公開されているが、後々意味が分からなくなりそうなので使用せずプロパティで行うこと。 引数の無いプロシー…

EXCEL VBAメモ - タイマー処理

Option Explicit Sub testTimer() Dim sec As Long: sec = 10 ' タイマー時間 Dim targetTime As Date ' 現在時刻 + タイマー時間 targetTime = DateAdd("s", sec, Time) Do ' セルに残り秒数を表示 Range("A1").Value = DateDiff("s", Time, targetTime) Do…

EXCEL VBAメモ - 構造体の定義と使用

Option Explicit Type MyStruct val As Long str As String End Type Sub foo() Dim a As MyStruct a.val = 10 a.str = "abcd" MsgBox a.val & a.str End Sub

EXCEL VBAメモ - 連想配列 Dictionary

Dim dic As Object Dim d As Variant ' Objectではダメ Set dic = CreateObject("Scripting.Dictionary") dic("a") = "A" ' データ追加 dic.Add "b", "B" ' データ追加、キーが存在した場合はエラー If Not dic.Exists("c") Then ' キーの存在確認 dic.Add "…