- - PR -
WordVBAでのツールバーの追加と削除について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-05-07 18:45
WordのStartupフォルダにテンプレートファイルを設置し、
そのファイル内で、AutoExec()、AutoExit()を使って、 起動時にツールバー設置、 終了時にツールバー削除を行いたいと考えています。 現在、設置・削除ともに成功はしているのですが、 Startupフォルダからテンプレートファイルを削除後、 適当なWordファイルを開くと、 削除されたはずのツールバーが表示さる、という状況が発生しております。 まとめますと、以下の状況となっております。 ===== Startupフォルダ内のテンプレートファイルを、 「Toolbar.dot」とする。 ・Startupフォルダに、Toolbar.dotを設置する。 ・適当なWordファイルを開く。 ・ツールバーが追加されていることを確認。 ・Wordファイルを閉じる。 ・ツールバーが削除されることを確認。 (削除後、メッセージを表示するようにし、 削除されているのを目視で確認。) ・Startupフォルダから、Toolbar.dotを削除する。 ・適当なWordファイルを開く。 ・表示されないはずのツールバーが表示されている。 ===== Startupフォルダからテンプレートファイルを削除すると、 ツールバーは表示されないようにしたいのですが、 良い方法をご存知の方おられましたら、 ご教授願います。 | ||||
|
投稿日時: 2007-05-08 16:39
こんにちは。
手元の Word 2003 で試してみましたが、再現しません。
問題が発生するプロシージャを掲載していただけませんか。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||
|
投稿日時: 2007-05-09 09:15
ue 様
なべとしです。 ご質問、ありがとうございます。 以下、当方で作成しているマクロのコードです。 ===== Private Const TITLE = "ToolBar" Sub AutoExec() On Error Resume Next 'ツールバー Dim objBar As CommandBar 'ツールバーオブジェクトの取得 Set objBar = CommandBars(TITLE) 'ツールバーが存在しないとき If objBar Is Nothing Then Err.Clear 'ツールバーを追加する Set objBar = CommandBars.Add(Name:=TITLE, Position:=msoBarTop) 'ツールバーを表示する objBar.Visible = True 'オブジェクトを廃棄 Set objBar = Nothing 'ツールバーが存在するとき Else objBar.Visible = True End If End Sub Sub AutoExit() On Error Resume Next CommandBars(TITLE).Delete End Sub ===== 上記コードを、TemplateProjectとして AddToolBar.dotに記述します。 あとは、先に書いた手順で操作を行うと、 追加されたツールバーが削除されないという状況です。 当方も、Word2003です。 お手数ですが、宜しくお願い致します。 | ||||
|
投稿日時: 2007-05-09 11:26
ueです。
うーん、再現しません。 Startup フォルダには [%USERPROFILE%\Application Data\Microsoft\Word\STARTUP] と [%ProgramFiles%\Microsoft Office\Office11\Startup] とがありますが、両方に AddToolBar.dot を置いて片方だけを削除しているということはありませんか? _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||
|
投稿日時: 2007-05-09 13:50
ue 様
なべとしです。 当方、問題となっているテンプレートファイル(AddToolBar.dot)は、 [%ProgramFiles%\Microsoft Office\Office11\Startup] のみに置いております。 期待通りの動作を得るためには、 [%USERPROFILE%\Application Data\Microsoft\Word\STARTUP] [%ProgramFiles%\Microsoft Office\Office11\Startup] の両方に置いておく必要があるのでしょうか。 | ||||
|
投稿日時: 2007-05-09 13:58
ためせばわかることはためせ。 それくらい大人ならわかるよね? | ||||
|
投稿日時: 2007-05-10 17:14
ぶさいくろう 様
ご意見、ありがとうございます。 [%USERPROFILE%Application DataMicrosoftWordSTARTUP] [%ProgramFiles%Microsoft OfficeOffice11Startup] の両方にAddToolBar.dotを置いてみることは、 既に試しておりました。 しかしながら、うまくいきません。 ちなみに、試した内容は、 ===== [%USERPROFILE%Application DataMicrosoftWordSTARTUP] [%ProgramFiles%Microsoft OfficeOffice11Startup] の両方にAddToolBar.dotを置く。 [%USERPROFILE%Application DataMicrosoftWordSTARTUP] のみにAddToolBar.dotを置く。 [%ProgramFiles%Microsoft OfficeOffice11Startup] のみにAddToolBar.dotを置く。 ===== の3パターンです。 その他に試せることはあるかなと思い試行錯誤しておりますが、 なかなか思いつかない状況です。 何かアドバイス等ございましたら、 宜しくお願い致します。 | ||||
|
投稿日時: 2007-05-11 14:42
その後の検証により、
無事、問題が解決されました。 理由はなぜだかわかりませんが、 AddToolBar.dotを編集する際のWordが起動した画面において、 追加されるべきツールバーが表示されている状態で 保存しておく必要があるみたいです。 (今までは、表示されていない状態で保存していました。) 色々とご意見頂き、ありがとうございました。 |