フォームのウィンドウを移動する |
|
DoCmd.RunCommand acCmdDocMove
|
Accessのウィンドウを移動する |
|
DoCmd.RunCommand acCmdAppMove
|
アクティブウィンドウを印刷する |
|
DoCmd.RunCommand acCmdPrint
|
アクティブウィンドウをプレビューする |
|
DoCmd.RunCommand acCmdPrintPreview
|
起動時の設定ダイアログを表示する |
|
DoCmd.RunCommand acCmdStartupProperties
|
形式を選択して貼り付けを行う |
|
'貼り付け対象となるテキストボックスにフォーカスを移動します
Forms!frm社員マスタ!備考.SetFocus
'「形式を選択して貼り付け」のダイアログを表示します
DoCmd.RunCommand acCmdPasteSpecial
|
検索を実行する |
|
'検索対象のフィールドにフォーカスを移動します
Forms!frm社員マスタ!氏名.SetFocus
'検索ダイアログを表示します
DoCmd.RunCommand acCmdFind
'検索ダイアログで指定された条件に一致する次のレコードを検索します
DoCmd.RunCommand acCmdFindNext
|
IEを起動し"検索ページ"を開きます |
|
DoCmd.RunCommand acCmdOpenSearchPage
|
編集を元に戻す |
|
DoCmd.RunCommand acCmdUndo
|
フォームのウィンドウサイズを元のサイズに戻す |
|
'アクティブウィンドウを元のサイズに戻します
DoCmd.RunCommand acCmdDocRestore
|
Accessのウィンドウサイズを元のサイズに戻す |
|
DoCmd.RunCommand acCmdAppRestore
|
レコードを更新する |
|
'編集中のレコードを更新(保存)します
DoCmd.RunCommand acCmdRefresh
|
データシートの行の高さを変更する |
|
'対象となるデータシートにフォーカスを移動します
Me!frm社員マスタ_sub.SetFocus
DoCmd.RunCommand acCmdRowHeight
|
レコードを並べ替える |
|
'並べ替えの対象とするフィールドにフォーカスを移動します
Forms!frm社員マスタ!氏名.SetFocus
'昇順並べ替えを実行します
DoCmd.RunCommand acCmdSortAscending
'降順並べ替えを実行します
DoCmd.RunCommand acCmdSortDescending
|
ウィンドウを左右に並べて表示する |
|
'開いているウィンドウを"左右に並べて表示"します
DoCmd.RunCommand acCmdTileVertically
|
ウィンドウを上下に並べて表示する |
|
'開いているウィンドウを"上下に並べて表示"します
DoCmd.RunCommand acCmdTileHorizontally
|
レコードを移動する |
|
'先頭のレコードへ移動します
DoCmd.RunCommand acCmdRecordsGoToFirst
'前のレコードへ移動します
DoCmd.RunCommand acCmdRecordsGoToPrevious
'次のレコードへ移動します
DoCmd.RunCommand acCmdRecordsGoToNext
'最後のレコードへ移動します
DoCmd.RunCommand acCmdRecordsGoToLast
'新しいレコードへ移動します
DoCmd.RunCommand acCmdRecordsGoToNew
|
フォームのウィンドウを最小化(アイコン化)する |
|
DoCmd.RunCommand acCmdDocMinimize
|
Accessのウィンドウを最小化(アイコン化)する |
|
DoCmd.RunCommand acCmdAppMinimize
|
フォームのウィンドウを最大化する |
|
DoCmd.RunCommand acCmdDocMaximize
|
Accessのウィンドウを最大化する |
|
DoCmd.RunCommand acCmdAppMaximize
|
入力データを削除する |
|
'削除するテキストボックスにフォーカスを移動します
Forms!frm社員マスタ!氏名.SetFocus
'削除を実行します
DoCmd.RunCommand acCmdDelete
|
オブジェクトを上書き保存する |
|
'対象オブジェクトを選択します
DoCmd.SelectObject acReport, "pt社員マスタ"
'上書き保存します
DoCmd.RunCommand acCmdSave
|
切り取り([編集]-[切り取り])を実行する |
|
'切り取る文字列を選択します
Forms!frm社員マスタ!氏名.SetFocus
'「氏名」テキストボックスの内容をコピーします
DoCmd.RunCommand acCmdCut
'レコード全体を選択します
DoCmd.RunCommand acCmdSelectRecord
'レコード全体を切り取ります
DoCmd.RunCommand acCmdCut
|
選択フィルタを実行する |
|
'選択フィルタの対象とするフィールドを選択します
Forms!frm社員マスタ!都道府県.SetFocus
'選択フィルタを実行します
DoCmd.RunCommand acCmdFilterBySelection
|
データをメールに添付して送信します |
|
'アクティブウィンドウのデータをメール送信します
DoCmd.RunCommand acCmdSend
|
置換を実行する |
|
'置換対象のフィールドにフォーカスを移動します
Forms!frm社員マスタ!氏名.SetFocus
'置換ダイアログを表示します
DoCmd.RunCommand acCmdReplace
|
レコードを追加貼り付けする |
|
DoCmd.RunCommand acCmdPasteAppend
|
貼り付け([編集]-[貼り付け])を実行する |
|
'貼り付け先のテキストボックスにフォーカスを移動します
Forms!frm社員マスタ!氏名.SetFocus
'クリップボードのデータを貼り付けます
DoCmd.RunCommand acCmdPaste
|
アクティブウィンドウを閉じる |
|
DoCmd.RunCommand acCmdClose
|
【RunCommandを使う際の注意点】
「RunCommand」は、AccessのメニューバーやツールバーのコマンドをVBAから実行できるようにしたものです。メニューバーやツールバーでは、もしそのコマンドが使えない状態のときには、灰色表示になっているのはご存知でしょう。例えば、クリップボードが空の状態のときは、「貼り付け」は実行できないため、そのメニューやツールバーのボタンは灰色表示になっています。
ところが、「RunCommand」の場合は、その事前判断ができないため、実行不可の状態で実行するとエラーが発生します。もちろん、クリップボードが空かどうかチェックするなどの回避策はとれますが、かなり面倒なコーディングが必要となります。一番簡単なエラー回避策は、「On
Error Resume Next」で逃げるか、エラートラップして回避するという方法がよいでしょう。
一方、あるオブジェクトにフォーカスがないと実行不可のものや、自動的にアクティブウィンドウに対して作用するコマンドも存在します。それらについては、メニューやツールバーからマニュアルで実行する際に、どのような条件が整っているときに実行可能か確認し、VBAのコード上でもその条件に見合うようにしてから、各コマンドを実行するようにしてください。例えば、「コピー」を行いたい場合、もしコマンドボタンにフォーカスがあれば、メニューの[編集]-[コピー]は使えない状態になっていますので、事前にテキストボックスにフォーカスを移動しておかなければなりません。あるいは、特定のフォームを最大化したい場合、まずそのフォームをアクティブにしておかなければなりません。 |