次の方法で共有

Access2013で、「メニューの追加」マクロで作ったカスタムメニューがリボンの「アドイン」に表示されてしまう

Anonymous
2014-07-04T01:47:59+00:00

Access2003で作った数本のアプリケーションをAccess2007で動かしていました。

Access2007では「Accessのオプション」を以下で設定していました。

「カレントデータベース」-「リボンとツールバーのオプション」-「メニューバー」には

「メニューの追加」を記述したマクロ名を設定し、「すべてのメニューを表示する」のチェック

を外していました。

結果、Access2007では不要なリボンも表示されず、自分が設定したカスタムメニューのみが表示され

て、とっても使い勝手の良いものでした。

最近、このAccess2003アプリケーションをAccess2013で動作させる必要が出てきました。

(パソコンが新しいものに入れ替わったためです)

Access2013の「Accessのオプション」の設定はAccess2007とまったく同じなのですが、

リボンが表示され「ファイル」「ホーム」「アドイン」の3つのメニュー(タブ?)が

表示され、「メニューの追加」マクロを使ったメニュー関係は「アドイン」の中にすべて

押し込まれてしまいました。

Access2007と同じようにリボンは表示させず自分が作ったカスタムメニューだけを表示させること

はできないのでしょうか。

「メニューの追加」マクロの詳細は大体以下のようなものです。

 マクロ名:"メニュー追加マクロ"

   メニューの追加:メニュー名"ファイル"

   メニューの追加:メニュー名"作成"

   メニューの追加:メニュー名"オプション"

   メニューの追加:メニュー名"ヘルプ"

 メニューの詳細マクロはすべて標準コマンドで

   「フォームを開く」

   「印刷」

   「上書き保存」

   「Accessの終了」

 くらいです。

良い方法がありましたら、よろしくお願いします。

※リボンに自分で作ったメニューだけを表示さてもいいかなと思い、カスタムリボンを試して

 みたのですがXMLやVBは素人なので挫折しました。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

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

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

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

Anonymous
2014-07-04T10:54:46+00:00

> 「起動時に組み込みのリボンを非表示化」というのは、USysRibbonsテーブルのXMLで

> 非表示にするのではなく、「Accessのオプション」-「リボンのユーザ設定」の「メインタブ」

> のすべてのチェックを外すということでしょうか?

(現在のカレントデータベースの設定の詳細が分からないですが)

カレントデータベースのオプション設定と

USysRibbonsテーブルのXMLによる設定になると思います。

> 「各フォーム/レポートにカスタムリボンを設定する」

> とした場合、各フォームを開いた時にリボン上にカスタマイズしたコマンドが

> 表示されるというイメージなのですが、

> それ以前に、各フォームを開くためのリボン(アプリケーション全体に適用される)を

> 作らないといけないのでしょうか?

いわゆるスイッチボードフォームから各フォームを開くようにしているのか、

スイッチボードに相当するカスタムツールバーをそのデータベースの

既定のツールバーとして設定されていたのか次第だと思います。

> いずれにせよカスタムリボンの作成が必須のようですので、「フォームを開く」などの一般的な

> XML参考例ホームページなどありましたらご教授願えないでしょうか。

2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 1/3)

2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 2/3)

2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 3/3)

リボン オブジェクト モデルの概要

リボン XML

> メニューの詳細マクロはすべて標準コマンドで

>   「フォームを開く」

>   「印刷」

>   「上書き保存」

>   「Accessの終了」

> くらいです。

([USysRibbons]に設定するXML)


<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

  <ribbon startFromScratch="true">

    <tabs>

      <tab idMso="TabCreate" visible="false" />

      <tab id="MainMenuTab" label="メインメニュー">

        <group id="CustomFormsGroup" label="フォームを開く">

          <button id="loadForm1Button" label="フォーム1を開く" visible="true" onAction="HandleOnAction" tag="フォーム1"/>

          <button id="loadForm2Button" label="フォーム2を開く" visible="true" onAction="HandleOnAction" tag="フォーム2"/>

        </group>

        <group id="CustomFileGroup" label="ファイル">

          <button idMso="FileSave" size="large" visible="true" enabled="true"/>

          <button idMso="FileCloseDatabase" size="large" visible="true" enabled="true"/>

        </group>

        <group id="CustomPrintGroup" label="印刷">

          <button idMso="PrintDialogAccess" size="large" visible="true" enabled="true"/>

        </group>

      </tab>

    </tabs>

  </ribbon>

</customUI>


(標準モジュール)


Public Sub HandleOnAction(RibbonControl As Object)

On Error GoTo Err_HandleOnAction

    DoCmd.OpenForm RibbonControl.Tag

Exit_HandleOnAction:

    Exit Sub

Err_HandleOnAction:

    MsgBox Err.Number & ": " & Err.Description, _

           vbCritical, _

           "実行時エラー(HandleOnAction)"

End Sub


以上のような感じでしょうか。

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

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

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

Anonymous
2014-07-04T04:40:34+00:00

TechNet より:

http://technet.microsoft.com/ja-jp/library/cc178954%28v=office.15%29.aspx

> Access 2013 に表示される Access 2003 のツール バーとメニューを作成できなくなります。

> Access 2003 のツール バーとメニューは、Access 2007 と Access 2010 にリボンなしで表示されます。

> これらのツール バーとメニューは、Access 2013 には表示されませんが、

> Access 2013 の [アドイン] タブに表示されます。カスタム リボン コマンドはサポートされます。

基本的にはリボンのカスタマイズを行われるのが妥当かと。

accdbファイルの起動時に組み込みのリボンを非表示化しておいた上、

各フォーム/レポートにカスタムリボンを設定するようにされることをお奨めします。

MSDN より:

http://msdn.microsoft.com/ja-jp/library/office/ff837012%28v=office.15%29.aspx

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

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

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-07-06T23:42:26+00:00

    返信が遅くなって大変申し訳ありません。

    XLMの構文例までご連絡頂き、ありがとうございます。

    参考にしてリボンのカスタマイズに挑戦したいと思います。

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

    0 件のコメント コメントはありません
  2. Anonymous
    2014-07-04T07:23:37+00:00

    早速のご指導有り難うございます。

    「起動時に組み込みのリボンを非表示化」というのは、USysRibbonsテーブルのXMLで

    非表示にするのではなく、「Accessのオプション」-「リボンのユーザ設定」の「メインタブ」

    のすべてのチェックを外すということでしょうか?。

    「各フォーム/レポートにカスタムリボンを設定する」

    とした場合、各フォームを開いた時にリボン上にカスタマイズしたコマンドが

    表示されるというイメージなのですが、

    それ以前に、各フォームを開くためのリボン(アプリケーション全体に適用される)を

    作らないといけないのでしょうか?

    いずれにせよカスタムリボンの作成が必須のようですので、「フォームを開く」などの一般的な

    XML参考例ホームページなどありましたらご教授願えないでしょうか。

    お手数をお掛けして申し訳ありません。よろしくお願いします。

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

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