Excel方眼紙からの脱却

VBAのことと、その他いろいろメモ。

vba

Outlookで受信したメールを処理する

Outlookでメールを受信すると、Application.NewMailEx イベントが発生します。 このとき取得できるEntryIDCollectionで、GetItemFromIDを呼び出すと、 受信したメールを、あれこれできるようになります。

入力語句でフィルターをかけるExcelマクロ

例として、都道府県名をインクリメンタルサーチできるようにしてみます。

VBE(Visual Basic Edtor)の背景色をカスタマイズする。

目の負担を軽くするため、VBEの背景色を暗めの落ち着いた色に変更しています。 変更方法はこちら。

クリックすると、繋がっているシェイプの色が変わるExcelの相関図

とあるソフトウェア開発に携わっていたときのこと。 モジュールの複雑な相関関係をチェックするために、 理解しやすい相関図を作ることに。 Excelのオートシェイプを使ったのですが、 何と何が依存関係にあるのか分かりやすくするため、 クリックすると、そ…

Visioのマクロにショートカットキーが設定できない

過去にVisio 2007のマクロを触っていたときのメモ。 作ったマクロにショートカットキーを当てたいけれど、上手くいかないときがありました。 原因がよく分からないので、マクロをエクスポートして、割り当てられたキーがどうなっているか確認してみることに…

画面の更新をしないようにして、マクロの速度を向上させる。

Application.ScreenUpdatingにfalseを指定して、画面の更新をしないようにします。 マクロの処理過程を見られなくなりますが、その分実行速度が上がります。 Sub test() Application.ScreenUpdating = false '実行したい処理 Application.ScreenUpdating = t…

マクロを呼び出すマクロ

vba

マクロを呼び出すには、Application.Run メソッドを使います。 Sub test() Application.Run "マクロ名", 引数1, 引数2End Sub これを使えば、 別のワークブックのマクロを呼び出すことができます。 Sub test( Application.Run "ワークブック名.xlsm!モジュー…

実行中のマクロを停止するVBAコード

vba

実行中のマクロを停止する場合は、Endステートメントを使用します。 Sub Sample() If MsgBox("中断しますか?", vbYesNo) = vbYes Then End End If MsgBox ("完了しました。") End Sub