0
2

More than 5 years have passed since last update.

発掘:Microsoft Access Club Access RunCommand 解説

Last updated at Posted at 2019-02-27

2003年ごろの記述であり、現在と異なっている場合、現在と画面が異なっていることが通常です。
私見ですが。RunCommandは削除、終了という機能もありますがそのほとんどは半自動化機能です。なにかのWindowを立ち上げたりネットにつないだりします。しかし、そこから先はRuncommandではできない。ツールバーの何かの機能をクリックした状態を作り出すものが多いです。これに似ているのがMicrosoftが必死に消しているCommandBarです。
VBAの一番最初の使い方は印刷だと思います。これもファイルから印刷をクリックします。Docmd.Runcommandもこれと同じです。

Microsoft Access Club
Access RunCommand 解説
http://accessclub.jp/runcommand/
DoCmdオブジェクトのRunCommandメソッドは、簡易な操作で多くの機能を利用することができます。 このメソッドは、組み込みメニュー コマンドまたはツールバー コマンドを実行します。

次の例では、RunCommand メソッドを使って、[ツール] メニューの [オプション] ダイアログ ボックスを開きます。

例.

Public Function OpenOptionsDialog() As Boolean

    DoCmd.RunCommand acCmdOptions
    OpenOptionsDialog = True

End Function

AcCommand クラスの定数を使用します。実行される組み込みメニュー コマンドまたはツールバー コマンドを指定する組み込み定数を指定します。

Access の各メニュー コマンドまたはツールバー コマンドには、対応する定数があります。この値を指定して RunCommand メソッドを使うと、コードでコマンドを実行できます。

なお、RunCommand メソッドを使用して、カスタム メニューまたはカスタム ツールバー上のコマンドは実行できません。RunCommand メソッドは、DoCmdオブジェクトの DoMenuItemメソッドを置換します。

Runcommandサンプル図その1

image.png

Runcommandサンプル図その2
image.png

Runcommandサンプル図その2
image.png

数多くの定数がありますが、働きがいまいち分からないものも多く、
利用する際に有益なものだけを選択しました。(考察完了)

No Runcommand name 詳細
1 acCmdAboutMicrosoftAccess バージョン情報
2 acCmdAddInManager Comアドインの追加
3 acCmdAnalyzePerformance パフォーマンスの最適化
4 acCmdAnalyzeTable テーブル正規化ウィザード
5 acCmdAppMaximize Accessウィンドウを最大化
6 acCmdAppMinimize Accessウィンドウを最小化
7 acCmdAppRestore Accessウィンドウを元の状態に戻す
8 acCmdAnswerWizard アンサーウィザード-HELP起動
9 acCmdDebugWindow イミディエイト画面を表示
10 acCmdDelete オブジェクトの削除
11 acCmdDocMaximize オブジェクトを最大化
12 acCmdDocMinimize オブジェクトを最小化
13 acCmdDocRestore オブジェクトを元のサイズに戻す
14 acCmdDocumenter データベース構造の解析画面の呼び出し
15 acCmdExit データベースの終了(保存)
16 acCmdArrangeIconsAuto アイコンの自動整列機能をオン/オフ
17 acCmdArrangeIconsByCreated アイコンの作成順並び替え
18 acCmdArrangeIconsByModified アイコンの更新順並び替え
19 acCmdArrangeIconsByName アイコンの名前順並び替え
20 acCmdArrangeIconsByType アイコンの種類順並び替え
21 acCmdAutoCorrect オートコレクトオプション画面の起動
22 acCmdClose オブジェクトを閉じる
23 acCmdCloseWindow ウィンドウを閉じる
24 acCmdCompileAllModules モジュール(プロシージャ)をコンパイルする
25 acCmdDatabaseProperties データベースプロパティを表示する
26 acCmdDatabaseSplitter データベース分割ツール画面を表示
27 acCmdDatasheetView フォームをデータシート ビューに切り替え
28 acCmdDeleteRecord フォーム上でレコードを削除する
29 acCmdDesignView フォームのデザインビュー画面に切り替え
30 acCmdEncryptDecryptDatabase 暗号化したデータベースの作成
31 acCmdExport オブジェクトのエクスポート
32 acCmdImport オブジェクトのインポート
33 acCmdFavoritesAddTo お気に入りフォルダーに追加する
34 acCmdFavoritesOpen お気に入りフォルダーからファイルを開く
35 acCmdFormView フォームビューへ画面を切り替える
36 acCmdInsertActiveXControl ActiveXコントロールの挿入画面を開く
37 acCmdLinkedTableManager リンクテーブルマネージャ画面を表示
38 acCmdLinkTables リンク設定ダイアログの表示
39 acCmdMicrosoftAccessHelpTopics Accessヘルプを立ち上げる
40 acCmdMicrosoftOnTheWeb Officeウエブサイトを立ち上げる
41 acCmdMoreWindows オブジェクト選択ダイアログを開く
42 acCmdNewObjectClassModule クラスモジュールを新規作成
43 acCmdNewObjectForm フォーム作成新規ウィザードの立ち上げ
44 acCmdNewObjectMacro 新規マクロ作成画面の立ち上げ
45 acCmdNewObjectModule 新規標準モジュール作成画面の立ち上げ
46 acCmdNewObjectQuery クエリ作成新規ウィザードの立ち上げ
47 acCmdNewObjectReport レポート作成新規ウィザードの立ち上げ
48 acCmdNewObjectTable テーブル作成新規ウィザードの立ち上げ
49 acCmdOfficeClipboard クリップボードの立ち上げ
50 acCmdOpenSearchPage MSN Searchのウエブサイトを開く
51 acCmdOpenStartPage IEの標準WEBページを開く
52 acCmdOpenURL 任意のURLを開くダイアログを立ち上げ
53 acCmdOptions Accessのオプション設定ダイアログを開く
54 acCmdOutputToExcel テーブル、クエリデータをExcelへ出力
55 acCmdOutputToRTF テーブル、クエリデータをRTF形式で出力
56 acCmdOutputToText テーブル、クエリデータをTXT形式で出力
57 acCmdPrintPreview 印刷プレビューの表示
58 acCmdPrintRelationships リレーションシップの印刷
59 acCmdRegisterActiveXControls ActiveX コントロールの登録ダイアログ
60 acCmdRelationships リレーション設定画面を開く
61 acCmdRunMacro マクロ実行選択ダイアログを表示させる
62 acCmdRunOpenMacro 開いているマクロの実行
63 acCmdSave 開いているオブジェクトの上書き保存
64 acCmdPageSetup ページ設定ダイアログを開く
65 acCmdPrint 印刷設定ダイアログを開く
66 acCmdSaveAs 名前を付けて保存ダイアログを開く
67 acCmdSaveAsDataAccessPage データアクセスページの保存
68 acCmdSaveAsReport フォームからレポートの作成
69 acCmdSaveRecord テーブル、クエリのレコードの保存
70 acCmdSelectAllRecords テーブル、クエリの全レコードの選択
71 acCmdSelectDataAccessPage データアクセスページのプロパティ表示
72 acCmdSelectRecord テーブル、クエリのレコード選択
73 acCmdSend オブジェクトを添付文書としてメール送信
74 acCmdSetDatabasePassword データベースパスワードの設定
75 acCmdShowOnlyWebToolbar ツールバーをWEBのショートカットに変更
76 acCmdStartupProperties 起動時の設定ダイアログの表示
77 acCmdSwitchboardManager メニュー用フォームビルダを開く
78 acCmdTileHorizontally オブジェクトを上下に配置
79 acCmdTileVertically オブジェクトを左右に配置
80 acCmdToolbarsCustomize ツールバーのユーザー設定ダイアログ
81 acCmdUndo 元に戻す
82 acCmdUnfreezeAllColumns 列の固定設定の解除
83 acCmdUnhideColumns 隠れているフィールドの表示
84 acCmdUpsizingWizard アップサイジングウィザードを開く
85 acCmdUserAndGroupAccounts ユーザー/グループアカウントの設定
86 acCmdUserAndGroupPermissions ユーザー/グループのパーミッション設定
87 acCmdUserLevelSecurityWizard セキュリティ ウィザード ダイアログを開く
88 acCmdViewDataAccessPages データベースウィンドウのページを表示
89 acCmdViewDetails 詳細モードでデータベースウィンドウを表示
90 acCmdViewForms データベースウィンドウのフォームを表示
91 acCmdViewLargeIcons 大きいIconでデータベースウィンドウ表示
92 acCmdViewList 一覧モードでデータベースウィンドウ表示
93 acCmdViewMacros データベースウィンドウのマクロを表示
94 acCmdViewModules データベースウィンドウのモジュールを表示
95 acCmdViewQueries データベースウィンドウのクエリを表示
96 acCmdViewReports データベースウィンドウのレポートを表示
97 acCmdViewSmallIcons 小さいIconでデータベースウィンドウ表示
98 acCmdViewTables データベースウィンドウのテーブルを表示
99 acCmdViewToolbox ツールボックスメニューを表示する
100 acCmdVisualBasicEditor Visual Basic Editor を開く
101 acCmdWindowCascade 開いているオブジェクトを整列させる
102 acCmdWindowHide データベースウィンドウを非表示にする
103 acCmdWorkgroupAdministrator ワークグループの管理者ダイアログを開く
104 acCmdZoom10 印刷プレビューの表示倍率を10%に設定
105 acCmdZoom25 印刷プレビューの表示倍率を25%に設定
106 acCmdZoom50 印刷プレビューの表示倍率を50%に設定
107 acCmdZoom75 印刷プレビューの表示倍率を75%に設定
108 acCmdZoom100 印刷プレビューの表示倍率を100%に設定
109 acCmdZoom150 印刷プレビューの表示倍率を150%に設定
110 acCmdZoom200 印刷プレビューの表示倍率を200%に設定
111 acCmdZoom500 印刷プレビューの表示倍率を500%に設定
112 acCmdZoom1000 印刷プレビューの表示倍率を1000%に設定

acCmdAddInManager : Access RunCommand

http://accessclub.jp/runcommand/acCmdAddInManager.html
この定数は、Comアドインの追加を画面上から行うことができます。このComアドインは通常は使用する機会はまずないかと思います。

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
Function RunCommandMenu()
    DoCmd.RunCommand acCmdAddInManager
End Function

Private Sub Cmボタン_Click()

    Call RunCommandMenu
End Sub

この定数を実行しますと、下記の画面が表示されます。
image.png

2003/05/22

acCmdAboutMicrosoftAccess : Access RunCommand

この定数は、メニューバーの「ヘルプ」→「バージョン情報」をクリックした時と同じアクションを返します。この「バージョン情報」とは、下記のメッセージボックスが表示されることです。

 
```visualbasic

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。

Function RunCommandMenu()
DoCmd.RunCommand acCmdAboutMicrosoftAccess
End Function
Private Sub Cmボタン_Click()
Call RunCommandMenu
End Sub
```

image.png
2003/05/22

acCmdAnalyzePerformance : Access RunCommand

この定数は、パフォーマンスの最適化 ツールを呼び出すことができます。 この定数を実行しますと、下記の画面が表示されます。

 
```visualbasic

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。

Function RunCommandMenu()
DoCmd.RunCommand acCmdAnalyzePerformance
End Function
Private Sub Cmボタン_Click()
Call RunCommandMenu

End Sub
```

image.png

パフォーマンス最適化ツールを実行する

パフォーマンス最適化ツールを使用して、Access データベースのパフォーマンスを最適化することができます。ただし、Access プロジェクトでは、パフォーマンス最適化ツールを利用できません。
1. 最適化する Access データベースを開きます。
2. [ツール] メニューの [解析] をポイントし、[パフォーマンスの最適化] をクリックします。
3. 最適化するデータベース オブジェクトの種類のタブをクリックします。すべてのデータベース オブジェクトの一覧を表示するには、[すべてのオブジェクト] タブをクリックします。
4. 最適化するデータベース オブジェクトの名前を選択します。一覧に示されたすべてのデータベース オブジェクトを選択するには、[すべて選択] をクリックします。
5. 手順 3、4 を繰り返して最適化するオブジェクトをすべて選択し、次に [OK] をクリックします。
パフォーマンス最適化ツールでは、推奨事項、提案事項、およびアイデアの 3 種類の解析結果が示されます。[解析結果] ボックスの一覧に表示された最適化処理をクリックすると、[メモ] ボックスに情報が表示されます。提案事項の最適化処理の場合は交換条件があり、実行する前にその利益と不利益を考慮する必要があります。交換条件については、一覧の [提案事項] をクリックし、[メモ] ボックスに表示される情報を参照してください。推奨事項および提案事項の最適化処理は Access で実行されます。アイデアの最適化処理はユーザーが実行します。
6. 実行する推奨事項または提案事項の最適化処理を 1 つまたは複数クリックし、[最適化] をクリックします。パフォーマンス最適化ツールは、最適化処理を実行し、実行した処理に "修正済み" のマークを付けます。選択した推奨事項または提案事項の最適化処理をすべて実行するまで、この処理を行います。

推奨事項または提案事項の最適化処理をすべて実行するには、[すべて選択] をクリックし、[最適化] をクリックします。

アイデアの最適化処理を実行するには、その最適化処理をクリックし、[メモ] ボックスに表示される指示に従ってください。

メモ パフォーマンス最適化ツールでは、Access 自体または Access を実行するシステムのパフォーマンスを向上させる方法に関する提案事項は表示されません。
※Accessヘルプから引用しています。
2003/05/24

acCmdAnalyzeTable : Access RunCommand

この定数は、テーブル正規化ウィザードツールを呼び出すことができます。 この定数を実行しますと、下記の画面が表示されます。
image.png

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
Function RunCommandMenu()
    DoCmd.RunCommand acCmdAnalyzeTable
End Function
Private Sub Cmボタン_Click()
    Call RunCommandMenu
End Sub
テーブル正規化ウィザード

image.png
1. 元のテーブル
2. テーブル正規化ウィザードで作成したテーブル
3. テーブル正規化ウィザードで作成したクエリ
4. ルックアップ リスト

Access データベースのテーブルの 1 つまたは複数のフィールドに重複する情報が保存されている場合、テーブル正規化ウィザードを使用してデータを複数の関連テーブルに分割すると、より効率的に保存することができます。この処理を正規化といいます。

テーブル正規化ウィザードは、重複する情報が格納されているテーブルを分割し、各情報がいずれかのテーブルで 1 つだけ保持されるようにします。

これにより、より効率的で容易にデータベースを更新できるようになると共に、データベースのサイズが縮小されます。
このウィザードでデータが分割された後も、ウィザードで作成されたクエリを利用することにより、引き続きデータを 1 か所で表示および操作することができます。

クエリを使用して、複数のテーブルのデータを同時に更新できます。クエリを使用すると、このほかにもさまざまな機能で、データを短時間により正確に処理することができます。

  • クエリ内で重複するフィールドの値を変更する場合、実際にはクエリの基になるテーブルの 1 つのフィールドの値を更新しているので、その値を含むすべてのレコードが自動的に更新されます。
  • クエリは、新しいテーブルからルックアップ フィールドを継承します。ルックアップ フィールドでは、値を入力する代わりに、一覧から値を選択してフィールドの値を変更することができます。ルックアップ リストには、基になるテーブルから参照した値が表示されます。同じ値が複数のレコードに適用される場合、その都度一覧から値を選択して、正確さと一貫性を保持することができます。
  • このウィザードでは、元のテーブルの名前がクエリに割り当てられ、テーブルの名前が変更されるので、元のテーブルを基にしていたフォーム、レポート、およびデータ アクセス ページは、自動的にクエリを基にするようになります。
  • クエリを基にする既存のフォームやレポートは、フィールドの自動更新を継承します。新しいフォームやレポートは、ルックアップ リストも継承します。 ※Accessヘルプから引用しています。

2003/05/24

acCmdAppMaximize : Access RunCommand

http://accessclub.jp/runcommand/acCmdAppMaximize.html
この定数は、Accessウィンドウを最大化することができます。 この定数は下記のように実行することができます。

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。

Function RunCommandMenu()
    DoCmd.RunCommand acCmdAppMaximize
End Function
Private Sub Cmボタン_Click()
    Call RunCommandMenu
End Sub

実際に使用する一例としては、フォーム上からコマンドボタンのクリック時イベントに配置する方法があります。

  • フォームの「ポップアッププロパティ」を"はい"に設定します。

このプロパティを"はい"にすると、フォームを下記のようにAccess領域の外側に移動させることができます。
image.png
これを元に戻す場合などに使用できます。

-「作業ウィンドウ」プロパティを"はい"に設定すると、この定数を利用できなくなります。
 
2003/05/24

acCmdAppMinimize 最小化(略)

acCmdAppRestore : Access RunCommand

この定数は、Accessウィンドウを元の状態に戻すことができます。 この定数は下記のように実行することができます。

 
```visualbasic

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
Function RunCommandMenu()
DoCmd.RunCommand acCmdAppRestore

End Function

Private Sub Cmボタン_Click()
Call RunCommandMenu

End Sub
```

実際に使用する一例としては、フォーム上からコマンドボタンのクリック時イベントに配置する方法があります。

  • フォームの「ポップアッププロパティ」を"はい"に設定します。

このプロパティを"はい"にすると、フォームを下記のようにAccess領域の外側に移動させることができます。
image.png
この状態からAccess領域を最大化にして、次にこの定数を実行させると、元のこの状態に戻る仕組みです。

-「作業ウィンドウ」プロパティを"はい"に設定すると、この定数を利用できなくなります。

※Accessヘルプから引用しています。
2003/05/24

acCmdAnswerWizard : Access RunCommand

'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
'サンプルプロシージャは、フォーム上のコマンドボタンをクリックし処理を実行する設定です。
Function RunCommandMenu()
   DoCmd.RunCommand acCmdAnswerWizard
End Function
Private Sub Cmボタン_Click()
   Call RunCommandMenu    
End Sub

 
下記のヘルプ画面が立ち上がります
image.png
2003/11/13

acCmdDebugWindow : Access RunCommand

この定数を用いると、VBE画面の イミディエイト 画面を開く ことができます。 利用するには、下記のように記述します


'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
'サンプルプロシージャは、フォーム上のコマンドボタンをクリックし処理を実行する設定です。
Function RunCommandMenu()
    DoCmd.RunCommand acCmdDebugWindow    
End Function
Private Sub Cmボタン_Click()
    Call RunCommandMenu
End Sub

この場合、イミディエイト画面だけが立ち上がるのではありません。VBE画面も同時に立ち上がります。
但し、カーソルはイミディエイト画面にあります(フォーカスはイミディエイト画面)。
2003/11/27

acCmdDelete : Access RunCommand

この定数を用いると、フォーカスを持つオブジェクトを削除 することができます。 利用するには、下記のように記述します


'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
'サンプルプロシージャは、フォーム上のコマンドボタンをクリックし処理を実行する設定です。

Function RunCommandMenu()

    DoCmd.RunCommand acCmdDelete

End Function

警告メッセージ非表示、エラー処理を施したプロシージャは、下記のとおり。


Function RunCommandMenu2()

    On Error GoTo エラー

    DoCmd.SetWarnings False '警告メッセージをオフにします。

    DoCmd.RunCommand acCmdDelete

    DoCmd.SetWarnings True '警告メッセージをオンにします。

    Exit Function

エラー:

    '削除をキャンセルした場合のエラーナンバー。
    If Err.Number = 2501 Then
        MsgBox "取り消ししました。"
    Else
        MsgBox "予期せぬエラーが発生しました。"
    End If

End Function
  • この削除コマンド(acCmdDelete)は、フォーム上のコマンドボタンでは利用できません。
  • イミディエイト画面でこのプロシージャを実行すると、データベースウィンドウでフォーカスのあるオブジェクトが削除されます。
  • 削除に際しては、事前に警告メッセージが立ち上がります。
  • 但し、カーソルはイミディエイト画面にあります(フォーカスはイミディエイト画面)。

2003/11/27

acCmdDocMaximize --Access RunCommand--

http://accessclub.jp/runcommand/acCmdDocMaximize.html
この定数を用いると、開いているオブジェクトを最大化 することができます。 <コード省略>

- この場合、このプロシージャを実行したフォームが最大化されます。
- Access自体が最大化されるのではありません。

acCmdDocMinimize : Access RunCommand(略)

http://accessclub.jp/runcommand/acCmdDocMinimize.html
上記の最小化命令。

acCmdDocRestore : Access RunCommand(略)

この定数を用いると、開いているオブジェクトを元に戻す ことができます。
DoCmd.Restore を用いるのと同じです。
この場合、このプロシージャを実行したフォーム状態が元に戻ります。
Access自体の状態が元に戻るのではありません。

acCmdOfficeClipboard : Access RunCommand 049

この定数を用いると、クリップボードのダイアログを立ち上げる ことができます。イミディエイト画面上、フォーム上のコマンドボタン、ツールバーからといろいろと利用できます。

Function RunCommandMenu()

    On Error GoTo エラー

    DoCmd.RunCommand acCmdOfficeClipboard

    Exit Function

エラー:

    'エラーを分岐。
    If Err.Number = 2046 Then
        MsgBox Err.Description
    ElseIf Err.Number = 2501 Then
        MsgBox Err.Description
    Else
        MsgBox "予期せぬエラーが発生しました。: " & Err.Number
    End If

    End

End Function
  • プロシージャを実行すると、左記下記の画面が開きます。
  • これ以降の作業は、通常と同じです。

image.png

acCmdOpenSearchPage : Access RunCommand050

この定数を用いると、MSN SearchBingのウエブサイトを開く ことができます。イミディエイト画面上、フォーム上のコマンドボタン、ツールバーからといろいろと利用できます。


'Functionプロシージャは、VBE画面の標準モジュール欄に記述してください。
Function RunCommandMenu()
    On Error GoTo エラー
    DoCmd.RunCommand acCmdOpenSearchPage
    Exit Function
エラー:
    'エラーを分岐。
    If Err.Number = 2046 Then
        MsgBox Err.Description
    ElseIf Err.Number = 2501 Then
        MsgBox Err.Description
    Else
        MsgBox "予期せぬエラーが発生しました。: " & Err.Number
    End If

    End

End Function
'サンプルプロシージャは、フォーム上のコマンドボタンをクリックし処理を実行する設定です。

Private Sub Cmボタン_Click()

    Call RunCommandMenu

End Sub

残念ながら、本家(米国)のMSN Searchページとなります。下記を参照。
image.png

MSN Search ウエブサイト(この発掘を行ったときはBing.comにジャンプしました)
http://search.msn.com/
2003/12/16
acCmdOpenSearchPage : Access RunCommand

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2