#4 コマンドの実行(その1)

ここで使われるメソッド/アクション
  • RunCommand/コマンドの実行
"コマンドの実行"アクションには、全部で373ケのコマンドがあります。それらは主に、Accessのメニューバーやツールバーからの操作を、マクロやVBAから実行できるようにするためのものです。その中には、「フォーム デザイン」ツールバーのコマンドのように、デザイン時に使うためのコマンドもありますが、ここではアプリケーションの実行時に使えるコマンドだけについて取り上げています。

"コマンドの実行"アクションをVBAから使うための"RunCommand"メソッドには、DoCmdオブジェクトのものとApplicationオブジェクトのものがあります。これらは同等ですので、Applicationオブジェクトのメソッドで利用すると考えれば、先頭の "Docmd." の記述は省略することができます。

レポートプレビュー時の表示ページ数を設定する

'対象となるレポートを選択します
DoCmd.SelectObject acReport, "rpt社員マスタ"
'1ページ表示
DoCmd.RunCommand acCmdPreviewOnePage
'2ページ表示
DoCmd.RunCommand acCmdPreviewTwoPages
'4ページ表示
DoCmd.RunCommand acCmdPreviewFourPages
'8ページ表示
DoCmd.RunCommand acCmdPreviewEightPages
'12ページ表示
DoCmd.RunCommand acCmdPreviewTwelvePages

※レポートのプレビュー時に表示されるツールバーの操作を、VBAで制御するためのものです。

アクティブフォームをExcelに出力する

'対象となるフォームを選択します
DoCmd.SelectObject acForm, "frm社員マスタ"
'Excelに出力します
DoCmd.RunCommand acCmdOutputToExcel

※実行後、Excelが自動起動します。

アクティブフォームをRTFとして出力する

'対象となるフォームを選択します
DoCmd.SelectObject acForm, "frm社員マスタ"
'RTFとして出力します
DoCmd.RunCommand acCmdOutputToRTF

※実行後、Word(拡張子 ".RTF" に関連付けされているアプリ)が自動起動します。

URLを開く

'URL入力のダイアログを開きます
DoCmd.RunCommand acCmdOpenURL

アプリケーション(Access)を終了する

'Accessを終了します
DoCmd.RunCommand acCmdExit

※Quitメソッドと同様の動作を行いますが、未保存のオブジェクトに対する処理を指定することができません。

アンサーウィザードを起動する

'ヘルプのアンサーウィザードを起動します
DoCmd.RunCommand acCmdAnswerWizard

インポートを実行する

'メニューの[外部データの取り込み]-[インポート]を実行します
DoCmd.RunCommand acCmdImport

※特定のテーブルのインポートを実行するのではなく、メニューを実行したときのように、ダイアログを表示するものです。汎用的にインポートを実行させたいときに使えます。

ウィンドウアイコンを整列する

'最小化されているフォームなどのアイコンを整列します
DoCmd.RunCommand acCmdWindowArrangeIcons

ウィンドウを再表示する

'非表示ウィンドウの一覧を表示します
DoCmd.RunCommand acCmdWindowUnhide

※非表示ウィンドウが1つもないとエラーになります。

ウィンドウを選択する

'開いているウィンドウの一覧を表示します
DoCmd.RunCommand acCmdMoreWindows

※開かれているウィンドウが1つもないとエラーになります。

ウィンドウを重ねて表示する

'開いているウィンドウを"重ねて表示"します
DoCmd.RunCommand acCmdWindowCascade

ウィンドウを表示しない

'アクティブウィンドウを非表示にします
DoCmd.RunCommand acCmdWindowHide

ウィンドウを閉じる

'アクティブウィンドウを閉じます
DoCmd.RunCommand acCmdCloseWindow

※DocmdオブジェクトのCloseメソッドと同様の動作を行いますが、オブジェクト名を指定したり、未保存のオブジェクトに対する処理を指定したりすることはできません。

Accessのオプションダイアログを表示する

'オプションダイアログを表示します
DoCmd.RunCommand acCmdOptions

※メニュー操作に代わってオプションダイアログを表示させるだけです。

お気に入りに追加

'お気に入りに追加のダイアログを表示します
DoCmd.RunCommand acCmdFavoritesAddTo

※追加する動作までは行いません。"Favaritフォルダ"の内容が表示されるところまでです。

お気に入りを開く

'お気に入りダイアログを表示します
DoCmd.RunCommand acCmdFavoritesOpen

※実際に開く動作までは行いません。"Favaritフォルダ"の内容を表示するところまでです。

コピー([編集]-[コピー])を実行する

'事前にコピー対象(文字列やレコード全体など)を選択します
Forms!frm社員マスタ!氏名.SetFocus
'「氏名」テキストボックスの内容をコピーします
DoCmd.RunCommand acCmdCopy

※この例では、"frm社員マスタ"フォームの「氏名」というテキストボックスを事前に選択しています。SetFocusメソッドを実行した段階で、テキストボックスに入力されている文字列全体が選択された反転表示の状態にあります。もしコピー対象がないときにはエラーが発生します。

フォームのウィンドウサイズを変更する

DoCmd.RunCommand acCmdDocSize

※フォームなどのコントロールボックスから[サイズ変更]を選択したときの動作をします。サイズを指定するパラメータはなく、実際のサイズ変更はキーボードの矢印キーで行います。

Accessのウィンドウサイズを変更する

DoCmd.RunCommand acCmdAppSize

※Accessのコントロールボックスから[サイズ変更]を選択したときの動作をします。サイズを指定するパラメータはなく、実際のサイズ変更はキーボードの矢印キーで行います。

ズームボックスを表示する

'テキストボックスコントロールに移動します
Forms!frm社員マスタ!氏名.SetFocus
'ズームボックスを表示します
DoCmd.RunCommand acCmdZoomBox

※"ズームボックス"は、[Shift]+[F2] などの操作によって表示される、複数行入力用のダイアログボックスです。テキストボックスの幅を越えるような長いテキストを入力する可能性のある場所で、コマンドボタンのクリックや、テキストボックスのダブルクリックなどで表示させるようにすると便利です。

スタートページを開く

'IEを起動し"ホームページ"を開きます
DoCmd.RunCommand acCmdOpenStartPage

※IEを起動し、IEの[インターネット オプション]の[ホームページ]に設定されている"スタートページ"を表示します。データベースとしてはあまり使い道がないでしょうが、社内のイントラネットに接続させるようなことが、Accessアプリケーションからできます。

| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved