Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
エクセル2019のVBAでの数式バーの表示・非表示について
投稿日時: 19/12/08 07:50:13
投稿者: emuancha

リボンの表示(非表示)は,ウインドウ(ブック)単位に制御出来ます。
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True|False)"
 
数式バーの表示(非表示)は,全ウインドウ(開いている全ブック)が対象のようです。
Application.DisplayFormulaBar = True|False
 
つまりApplicationが対象。アクティブウインドウに対して,制御すると他のパッシブなウインドウも影響を受けてしまう。ウインドウ毎に数式バーの表示・非表示は出来ないのでしょうか?

回答
投稿日時: 19/12/10 09:29:55
投稿者: WinArrow
投稿者のウェブサイトに移動

HELPをみると
>DisplayFormulaBar
のオブジェクトが「Application」しか説明されていないんで、
Windowsオブジェクトでは使えないということだと思います。
 
前面に表示するブックで数式バーを表示/非表示を制御したいということならば、
ブック判断して、この命令を実行するしかないと思いますが・・・・
たとえ、2つのブックを画面分割で表示していても、どちらかがアクティブなはずです。

投稿日時: 19/12/10 11:05:18
投稿者: emuancha

返答ありがとうございます。
ExecuteExcel4Macroはメソッドで,DisplayFormulaBarはプロパティ,と言う違いですかね。
 
SDI環境においては,ブック=一つのWindowなので,Windowのプロパティに無いので制御出来ないって事ですね。質問にも書いたように,一つのウインドウでの制御が,すべてのウインドウに及ぶようです。
 
SDIは厄介だなぁ。

回答
投稿日時: 19/12/10 14:15:32
投稿者: WinArrow
投稿者のウェブサイトに移動

何が疑問なのか?
なんとなく、わかってきたような気がいます。
 
SDIでリボンがブックによって異なるのに、
っ表示されているブックのリボンの中の「数式バー」チェックを操作すると
なぜ、別のブックに影響するか?
ってことなのかな・・・・
 
SDI化したときに漏れてしまったのか?
仕様なのかは、作成者に聞きしかないのかな?
 
数式バーに限らず、ほかにも多分あると思います。

投稿日時: 19/12/10 14:32:04
投稿者: emuancha

ステータスバーも同じです。仕様ミスなのか,そういう思想なのか,判断し兼ねます。
SDI:ウインドウが複数でも,プロセスは一つ見たいですね。

投稿日時: 19/12/12 15:02:30
投稿者: emuancha

すっきりはしませんが,閉じます。ありがとうございました。