2010/03/12

アプリケーション配布時の設定 MS-Access改

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 件のコメント: