次の方法で共有

Excel2013でマクロでリボンを非表示にして使用している場合に、次に立ち上げたExcelでもリボンが非表示になってしまいます。

Anonymous
2013-11-15T05:33:45+00:00

ブックに対する操作を制限するため、以下のマクロでリボンを非表示にしてます。

Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"

Excel2007・2010では、上記マクロを実行してリボンを非表示にしてブックを開いていても、次にExcelを立ち上げた場合には、次に立ち上げたExcelでは、リボンが表示されていましたが、Excel2013では、次に立ち上げたExcelもリボンが非表示になってしまうようです。

次に立ち上げたEXcelでは、リボンが表示されるような方法はないのでしょうか。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2013-11-18T03:13:36+00:00

分かりました。

貴兄が使用されているインスタンスという表現になじみがなかったのですが、インスタンスという表現を使って検索してみたところ、いくつものサイトで、2013からはExcelを別のインスタンスで起動する方法が変わったことが書かれておりました。

スタートメニューやショートカットアイコンをクリックしてExcelを起動した場合、2010までは別のインスタンスで起動しますが、2013は同じインスタンスで起動してしまうようです。

タスクバーの[Excel2013]を右クリックして、Altキーを押しながら表示されたメニューの[Excel2013]をクリックすれば、別のインスタンスでExcelが起動し、リボンも有効になりました。

色々、ご教授頂きありがとうございました。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

5 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2013-11-18T01:02:52+00:00

    ご回答ありがとうございます。

    作成していただいたコードを実行すると、リボンを非表示にするマクロが入ったブックは、リボンが非表示になり、test.xlsxはリボンが有効な状態で開かれることを確認致しました。

    手作業でExcelを起動した場合と、作成して頂いたマクロではリボンの状態が違うので色々試してみて、気づいた点があります。

    リボンを非表示にしたいブックには以下のマクロが入っています。

    sub Auto_Open

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"

    exit sub

    Excelを起動し、「空白のブック」を選択します。リボンが有効なのExcelが表示されます。

    この状態で、「ファイル」-「開く」で、リボンを非表示にするマクロが入ったブックを開き、マクロを有効にします。

    そうすると、リボンが有効なExcelと、非表示になったExcelが起動している状態になります。

    これを「状態1」とします。

    「状態1」で、リボンが非表示になっているExcelをアクティブにし、スタートメニュー等からExcelを起動して「空白のブック」を選択すると、リボンが非表示になったExcelが起動します。

    ところが、「状態1」でリボンが有効なExcelをアクティブにし、Excelを起動して「空白のブック」を選択すると、リボンが有効なExcelが起動します。

    リボンが非表示になっているExcelのみが起動している状態では、リボンが有効になっているExcelを手作業では起動できないようです。

    上記マクロで、リボンを非表示にし、行見出し・列見出し非表示にする。右クリックメニューで、そのブックに必要なマクロを起動するようにし、Excel標準メニューは非表示にする。必要があれば、アプリケーションキーのメニューも非表示にする。等で、ブックに対する操作を出来る限り制限しています。これらによる制限が非常に簡単で、いままでとても有効でした。

    リボンが非表示になってるマクロが入っているブックを使用する場合に、リボンが有効になっているExcelを使用したい場合の注意事項を、利用者に知らせる必要があるようです。

    リボンの非表示・最小化に関する情報ありがとうございます。こちらのほうも検討してみたいと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2013-11-15T08:07:33+00:00

    話が見えません。

    ちゃんとコードを出してください。

    >複数立ち上げが可能になったと思います。

    Excel97以前はしりませんが、97以降複数インスタンスが可能です。

    別インスタンスのExcelではそんな問題は発生しないはずですが?

    Sub xxx()

    Dim wXL As Object

    Set wXL = CreateObject("Excel.application")

    wXL.Visible = True

    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"

    wXL.Workbooks.Open ThisWorkbook.Path & "\Test.xlsx"

    End Sub

    これで、マクロブックの方のExcelだけちゃんと非表示になります。

    非表示ではありませんが、折りたたみだけでよければ

    Sub aaa()

    CommandBars.ExecuteMso "MinimizeRibbon"

    End Sub

    と言う手はあります。(再実行でもどりますし、こちらは手作業でも戻せます)

    後、私は試したこともありませんが、きぬあさんのサイトにいろいろ情報があります。

    http://www.ka-net.org/ribbon/ri06.html

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2013-11-15T07:32:36+00:00

    ご回答いただきありがとうございます。

    うまい具合に表現できなくてすいません。

    リボンを非表示にするマクロが入ったブックを終了するということではなく、同時に使用するということです。

    Excelは何時頃のバージョンからかは、覚えていませんが、複数立ち上げが可能になったと思います。

    現在、事務所にある最古のExcel2000では複数起動が可能になっていました。

    Excel2010までは、マクロでExcelのメニュー・ツールバー・リボンを使用不可の状態にしたExcelと、メニュー・ツールバー・リボンが使用可能な状態のExcelを同時に使用することが出来ていました。

    Excel2010では、

    Excel立ち上げ、リボン非表示マクロ無しブック読込、リボン使用可能

    Excel立ち上げ、リボン非表示マクロ有りブック読込、リボン使用不可能

    Excel立ち上げ、リボン非表示マクロ無しブック読込、リボン使用可能

    というように、先に立ち上げたExcelを終了させることなく、三つの状態のExcelを同時に使用することが出来ます。

    ところが、Excel2013では、

    Excel立ち上げ、リボン非表示マクロ無しブック読込、リボン使用可能

    Excel立ち上げ、リボン非表示マクロ有りブック読込、リボン使用不可能

    Excel立ち上げ、リボン非表示マクロ無しブック読込、リボン使用不可能

    となり、Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"で、リボンを非表示にした後に立ち上げたExcelでも、リボンが使用不可能になってしまうということで、Excel2010までと動作が違うようなので、Excel2010と同じような状態で使用できるようにする、リボンを非表示にする別のコードなり、Excelの設定がないものかと、思っている次第です。

    10年以上このような方法でExcelを使用して、副作用が出た対処に苦慮したことはありません。

    Excel2007が出たときに、Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"のコードを苦労して見つけましたが、2003・2007混在状態で、Excelのバージョンによって、メニュー・ツールバーとリボンのどちらを使用不可にするのかのコードで簡単に対処することが出来ました。

    絶対に無理ならば、別の方法を考えねばなりませんが、

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2013-11-15T06:30:57+00:00

    リボンが非表示になってしまうのが、処理したブックの話か、Excelの設定が変わってしまうのか試してもいないので、確認していませんが、問題のブックを終わらせる直前か、Excelの終了直前かにリボンを表示させてしまえば済むはなしでは?

    VBA関係の話ではバージョンが変わると、細かいところで結構いろんな問題出てきますし、バグとして報告しても致命的な結果になるものでもなければなかなか対応されないというのが現実です。

    対応の分かる問題なら、「あら、こうなっちゃったんだ」くらいの感覚でさっさと対応しちゃう方が早いですよ。

    リボンに限らず、

    >ブックに対する操作を制限するため

    同様にコマンドを無効にしたいとかいうのをどこの掲示板でもちょくちょく見ますが、個人的な見解として申し上げれば、いくらマクロで無効にしたところで、どうにでもなりますし、副作用が出て却ってその始末に汗をかくなんてことにもなりますから、無駄なことはやめた方が良いと思いますよ。

    それに、旧マクロは何時までサポートされるのか保障の限りではありません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません