1.配布予定のaccdbをコピーし、以降の作業はこれを使う。<重要>
2.Autoexecマクロの設定
・コマンドの実行:最大化(アプリケーション)
・フォームを開く:mainmenu, フォーム ビュー, , , , 標準
3.Autokeysの設定
・{F11}:(アクションなし)(引数なし)---- ナビゲーションウインドウの表示
AutokeysではAlt組み合わせのショートカットキーを管理できないので、フォームイベントでハンドリングするしかない。
4.USysRibbonsテーブル作成
ID:オートナンバー型 RibbonName:テキスト型 RibbonXml:メモ型
----------Record 1
HideRibbon
<customui xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
</ribbon>
</customUI>
----------Record 2
ShowRibbon
<customui xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
</ribbon>
</customUI>
5.Accessのオプション→カレントデータベース
アプリケーションオプション
・ドキュメントタブを表示する:チェック外す
・閉じるときに最適化する:チェックする
・ショートカットキーを有効にする:チェック外す
・このデータベースのレイアウトビューを使用可能にする:チェック外す
・データシートビューでテーブルデザインを変更可能にする:チェック外す
ナビゲーション
・ナビゲーションウインドウを表示する:チェック外す
・ナビゲーションオプション:すべてチェックを外す
リボンとツールバーのオプション
・リボン名:HideRibbon
・すべてのメニューを表示する:チェック外す
・既定のショートカットメニュー:チェック外す
アプリケーションオプションのショートカットキーを有効にするのチェックを外すと、
F11(ナビゲーションウインドウの表示)
Alt+F11(VBEの表示)
Ctrl+G(イミディエイトウインドウの表示)
などが無効化される。リボンをカスタムリボンに置き換えることで、VBE表示を抑止できる。
ただし、
・エラー発生時デバッグモードに移行しない
・エラーメッセージが表示されない
・エラー発生したプロシージャはエラー発生時点で終了する
結果、予期しない作動が発生しうるから、エラーハンドリングを充分に行う必要がある
ランタイムモードもしくはランタイム環境の場合は、実行時エラーでアプリケーションは強制終了へ。
6.mainmenu(スタートアップフォーム)Open かLoad イベント時(要検証)
DoCmd.LockNavigationPane True
多分、カスタムリボン設定のところでショートカットできなくなるから要らん気がする。
7.Bypasskey(Shift+起動)を抑制するプロシージャ起動
Public Sub UpdateAllowBypasskey()
Dim Dbs As Database
Dim Prp As Property
On Error GoTo ErrLabel
Set Dbs = CurrentDb
Dbs.Properties!AllowBypassKey = False 'Falseでバイパスを認めない
Exit Sub
ErrLabel:
If Err = 3270 Then
Set Prp = Dbs.CreateProperty("AllowBypassKey", dbBoolean, True)
Dbs.Properties.Append Prp
End If
End Sub
8.accdeへ変換
ユーザがランタイムのみであればさほど気にせずでよいが、製品を使用している場合、accde化してあればコード表示がされないが、そのままではナビゲーションウインドウの表示ができてしまうから、直接テーブルの操作、予期しないフォーム・クエリの実行ができる。
これでいけるか?
0 件のコメント:
コメントを投稿