データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
◇タブが表示されるようになりました。
◇タブが表示されなくなる現象も体験できました。
1.下のようなテストアドイン.xlaを作成しました。
(コメントになっている行①②③④は、アドバイスを参考に後で追加したものです。)
(コメント行を除くと、問題のアドインソフトのオリジナル記述に近い形です。)
'アドインがインストールされた時の処理
Private Sub Workbook_AddinInstall()
Dim Cmdbar As CommandBar
Dim Cmdbtn As CommandBarButton
Set Cmdbar = Application.CommandBars("Standard")
'Cmdbar.Visible = True '<--①必須
'Cmdbar.Controls.Add msoControlButton '<--②必要ないです
Set Cmdbtn = Cmdbar.Controls.Add(Type:=msoControlButton, Temporary:=False)
Cmdbtn.Caption = "hoge作成"
Cmdbtn.Tag = "hoge作成"
Cmdbtn.Style = msoButtonCaption
'Cmdbtn.Visible = True '<--③必須
Set Cmdbtn = Nothing
Set Cmdbar = Nothing
End Sub
'アドインがアンインストールされた時の処理
Private Sub Workbook_AddinUninstall()
Application.CommandBars("Standard").FindControl(msoControlButton, , "hoge作成").Delete
'Application.CommandBars("Standard").Visible = False '<--④やっちゃいけない
End Sub
2.この状態で(①②③④はコメントのまま)アドインの追加や削除をすると、
EXCEL2007のアドインタブとコマンドボタンが自動で出たり消えたりします。
3.コメント行の①②③を生かして実行すると、
アドインタブとコマンドボタンは表示された後で、アドインを外しても空のボタンが残ってしまい、
タブが消えなくなります(ボタンを削除するとタブも消えます)。
4.そこで④も生かして実行すると、アドインタブを無理やり消してしまいます。
この後で気付いたのですが、④を実行するとオリジナルのアドインツールでは、
アドインタブが出なくなってしまいます。同じような現象が再現出来ました。
(本当に同じかは判らないけど)。
私の予想ですが、コマンドバーのVisible = False を実行すると、Excelはその状態を
記憶してしまい、次に Visible = True を実行するまで、自動ではタブが表示されない
のではないかと思いました。
結論としては①と③を実行すればこの問題は解消できる(と言うか①③を実行しておけば、
この問題は発生しなかった)という、極めて当たり前の結果に到達してしまいました。
(なんか「大山鳴動してネズミ一匹」的な感じが否めないですが...)
もしもアドイン・タブやボタンが突然表示されなくなった人がいらっしゃったら、
上の①③を生かした(②④はコメント)アドインを作成して登録して解除すると、
またアドイン・タブとボタンが表示されるようになるかもしれません。
(但し私はVB6.0の経験はありますが、EXCELは苦手ですしVBAを扱ったのは初めてですので、
落ちがあるかもしれません。)
未だタブが自動で表示されなくなる原因が判明していません、タブが出るPCと
出ないPCの違いが判りませんが、一応アドイン・タブが出るようになったとのことです。
アドバイス頂いた、y sakudaさん、フォーラムモデレーターの石田さん有難うございました。