カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

複数の条件分岐 Select Case

複数の条件で処理を分岐させたい場合、Select Caseステートメントを使用します。
他の言語でのswitch文と似ていますので、そちらをご存じの方には親しみやすいと思います。

文法

Select Case 変数
    Case 値1
        変数が値1だった場合の処理
    Case 値2
        変数が値2だった場合の処理
    Case Else
        それ以外の場合の処理
End Select

「Case Else」がswitch文での「default」に当たります。
VisualBasicではbreakは不要です。

値の判定には数値はもちろん、文字列も使用可能です。
また比較条件を指定することもできます。

Select Case 変数
    Case Is 比較条件1
        変数が比較条件1を満たした場合の処理
    Case Is 比較条件2
        変数が比較条件2を満たした場合の処理
    Case Else
        変数がどの条件も満たさなかった場合の処理
End Select

続きを読む…»

3,626 views

Dir関数を使わずにファイルの存在を確かめる

ACCESS VBAでファイルの存在を確認するにはDir関数が便利です。
しかし、この関数は一方通行で入れ子にすることはできません。

例えば、あるフォルダー内に存在するファイル名をループで取り出し、
そのファイル名と同じものが別の場所に存在するか確認する…
というプログラムを作りたいとき、この関数は使えません。

そこで、別の方法を使ってファイルの存在を確認します。

FileSystemObjectのオブジェクトを定義します。

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

ファイルの存在を確認する 続きを読む…»

15,407 views

Public宣言された変数に有効期間がある落とし穴

VBAで標準モジュールにPublic変数を宣言、またはPrivate変数を宣言してPublicプロシージャで値を書き換える処理を構築した場合、予期せず、変数に格納したはずの値がクリアされることがあります。

実際にACCESSで、汎用的に使えるようにと私もそのような方法で書いたのですが、上記のような事象が発生したので今回調べてみました。

答えはマイクロソフトのサポートページにありました。
どうやら標準モジュールでPublic宣言した変数であっても、意図しないタイミングで変数の値が破棄されることがあるようで、そのようなプログラミング手法は推奨されていないようです。
続きを読む…»

20,568 views

Outlook2010のアカウント設定をエクスポート

Outlook2010では、アカウント設定のエクスポート機能がないようなので別の方法でエクスポートします。

エクスポート

スタートからファイル名を指定して実行を選択し、「regedit」と
入力しEnter。レジストリエディタが起動します。

HKEY_CURRENT_USER\Software\Microsoft\
Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook

というキーを探し、Outlookを右クリックし任意の場所にエクスポート。
拡張子は.regになります。

インポート

[ファイル]-[インポート]を選択し、エクスポートしておいたファイルをインポートします。
エクスポートしたファイルのダブルクリックでもインポート出来ます。
続きを読む…»

45,228 views

IE11でのソースエディタ変更

スタートからファイル名を指定して実行を選択し、「regedit」と
入力しEnter。レジストリエディタが起動します。

HKEY_CURRENT_USER¥Software¥Microsoft¥
Internet Explorer¥View Source Editor¥Editor Name
というキーを探します。なければ作成してください。
Editor Nameの標準キーにダブルクォーテーションで括ったエディターへのフルパスを入力する

2,746 views