1

大規模な VBA コード ベースを含む Word テンプレートを配布しています。テンプレートには、メニューと、Word 2007/2010 ユーザー向けのリボン タブが含まれています。Word 2013 では、メニューからすべてが正常に機能しますが、リボンが表示されません。私はまだ Visual Studio を使用せずに VBA でコーディングしています (そして VSTO を購入したくありません)。だから、リボンコード/xmlを更新する方法や、2013年にリボンタブを表示するために必要なことを理解しようとしています.

ユーザーがテンプレートに基づいて新しいドキュメントを作成すると、リボンはテンプレートから新しいドキュメントにコピーされます。しかし、Word 2013 ではそのプロセスに問題が生じています。興味深いことに、以前にテンプレートから (Word 2010 で) 作成したドキュメントを開くと、リボンが表示され、正常に機能します。しかし、テンプレートから新しい Word 2013 ドキュメントを作成すると、リボンが表示されません。

テンプレートに基づいて新しいドキュメントにリボンを表示するように Word に指示するには、コードで何かする必要があるはずですが、その情報を見つけることができませんでした。

私は常に、Word 2013 では使用できない "Office カスタム UI エディター" を使用してリボンを生成してきました。そのツールは、xml をテンプレートに「挿入」します。私のリボン XML は次のように始まります。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="SERibbon_Load">
    <ribbon startFromScratch="false">
        <tabs>

リボン タブを Word 2013 で動作させる方法を知っている人はいますか?

4

2 に答える 2

3

さて、私のリボンやコードには実際には問題がないことがわかりました。テンプレートをインストールするインストーラー コードは、Word 2003 以前のユーザー用の ".dot" テンプレート (リボンなし) と、それより新しいバージョンの Word 用の ".dotm" テンプレート (リボン付き) の両方をインストールします。次に、ユーザーのスタート メニューにテンプレートへのショートカットを設定します。

インストーラー コードは、Word 2013 がインストールされたことを認識せず、ユーザーが Word 2003 を使用していると判断し、リボンのないバージョンのテンプレートへのショートカットを作成します。「.dotm」バージョンを指すようにショートカットを変更しましたが、すべて問題ありません。したがって、私のカスタム リボン タブは Word 2007/2010/2013 で正常に動作することがわかりました。Word 2013 (レジストリのバージョン「15」) がインストールされていることを検出するために、インストーラーを修正する必要がありました。

名前空間は 2010 年に明らかに変更されましたが、2007 と下位互換性があります。2010 年には名前空間に追加され、2013 年には新しいものが追加されましたが、私の理解では、それは同じスキーマであり、Word 2007 リボン定義とも下位互換性があります。

G

于 2013-03-16T00:06:22.847 に答える
0

私はまだこれを行っていませんが、msdn の次のスレッドをチェックしてください: http://social.msdn.microsoft.com/Forums/en-US/officegeneral/thread/6575cee8-796a-40da-9520-24c5161f7600

名前空間は同じように見えますが、一部の属性値が変更されている可能性があります。リボン XML が準拠しているかどうかを確認するには、次のドキュメントを参照してください: http://www.microsoft.com/en-us/download/details.aspx?id=727

于 2013-03-15T15:35:19.967 に答える