Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


248 / 886 ←次へ | 前へ→

【654】AutoExit内でCommandbar制御がしたい
質問  めそ  - 09/10/16(金) 16:41 -

引用なし
パスワード
   はじめまして。
お分かりの方がいらっしゃいましたらご教示をお願いいたします。

文書をテンプレート化する為、AutoOpenにおいてCommandbarの
表示制御を行っています。

1.現在表示中の全てのCommandbarをVisible=Falseとする。
2.ユーザー独自のCommandbarをVisible=Trueにする。

ただしこの状態で文書を終了してしまうと、
次の別のWord文書を開いた際に、Commandbarが全て非表示の状態になってしまいます。

その為、1の前に一旦Commandbarの情報を退避(ファイルまたはバッファに保持)し、
AutoCloseまたはAutoExitにて戻すVBAを組みました。(以下、参考)

+---------------------------------------------------+
Sub AutoOpen()

  On Error Resume Next

  ' Commandbar情報をグローバル変数にバックアップ
  Dim i As Integer
  For i = 1 To ThisDocument.CommandBars.Count
    ReDim Preserve pub_Cmdbar(i - 1)
    pub_Cmdbar(i - 1) = ThisDocument.CommandBars(i).Visible
  Next i

End Sub
-----------------------------------------------------
Sub AutoClose()

  On Error Resume Next

  ' ツールバーを起動前の表示設定情報に戻す
  Dim i As Integer
  For i = 1 To CommandBars.Count
    ThisDocument.CommandBars(i).Visible = pub_Cmdbar(i - 1)
  Next i

End Sub
+---------------------------------------------------+

この方法だと上手くいくのですが、
文書に変更があった場合、AutoCloseだと保存確認メッセージが
表示され、その前に上記が実行されてしまうため、
メッセージをキャンセルすると、Commandbarがそのまま復元されてしまいます。
この状態は本来用途からすると望ましくありません。

そこでAutoCloseからAutoExitに変更をしてみましたが、
AutoExitでは上手く動作しません。(Commandbarが復元されない)

AutoCloseでは上記の問題があるため、可能であれば
AutoExit内で制御できる事が望ましいのですが、どうぞご教示をお願いいたします。

1,277 hits

【654】AutoExit内でCommandbar制御がしたい めそ 09/10/16(金) 16:41 質問[未読]
【655】Re:AutoExit内でCommandbar制御がしたい りる 09/10/17(土) 10:26 回答[未読]

248 / 886 ←次へ | 前へ→
ページ:  ┃  記事番号:
207135
(SS)C-BOARD v3.8 is Free