#535 Docmdオブジェクトでリボンを非表示にする方法 VBA

「#534 SendKeysでリボンを非表示にする方法」のDocmdオブジェクト版です。

SendKeysを使った方法では処理のタイミングによってはうまく動いてくれない場合があります。「SendKeys "^{F1}", True」のように二番目の引数に「True」を指定することで処理が終了するまで実行が一時中断されるということにはなっているのですが、あくまでも送信したキー操作が実際に動いて効果が表れたところまで確認してくれるわけではありません。そのため、”フォームを開く”などのその他の内部処理に時間を要したりした場合には、命令が投げっ放しになってしまうこともあります。環境やさまざまな要因で動作が不安定なのがSendKeysの弱点ともいえます。

そこで、次のようなDocmdオブジェクトのShowToolbarメソッドを使ったプログラムに書き換えることによって、安定した動作にすることができます。

Private Sub Form_Load()

  ’リボンを隠す
  DoCmd.ShowToolbar "Ribbon", acToolbarNo

End Sub


Private Sub Form_Close()

  ’リボンを表示する
  DoCmd.ShowToolbar "Ribbon", acToolbarYes

End Sub


ただしこの方法では、”リボンを最小化する”のではなく、”リボンを完全に隠す”ことになります。さらに「Officeボタン」も「クイックアクセスツールバー」も、また「リボンのタブの見出し」も非表示となります。そのため、レポートのプレビュー時に、ページ設定をしたりするリボンも表示されなくなります。それが不便な場合には、レポートをプレビューする際は一時的にリボンを再表示させるなどの処理が必要となりますので、部分的に使いづらい面もあります。
すべてが非表示となる
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved