システムwiki

Excel内からvbaでApplicationを起動すると、Wordアドインが読み込まれない

Astrid_ 受付中 最終更新日:2020-10-12 11:21

Wordのスタートアップフォルダに保存されているアドイン(dotmテンプレート)があります.特にカスタマイズされたリボンが含まれています.

これは正常に機能し、メニューからWordを起動したとき、ドキュメントをダブルクリックしたときなどに問題はありません.アドインが読み込まれ、リボンのカスタマイズが表示されます.

ただし、Wordが別のApplication(ExcelまたはAccess)内のVBAから起動された場合、リボンのカスタマイズは表示されません.「開発者」タブでチェックインすると、アドインがリストされ、同様に選択されます.

インターフェイスの選択を解除(アンロード)して再度選択(ロード)しても、カスタマイズされたリボンが表示されません.

Office 2010でも、まったく同じExcel VBAコードと同じアドインで問題なく動作しました.

Office 2016で機能しないのはなぜですか?
version1904
Build11601.20178

返信リスト(回答:40)

1 #
Charles

こんにちは
Office 365を使って、次のコードを使ってこれを見ていません:

sub wordOpener()
薄暗いobjword.
薄暗いobjdoc.
objword= createObject( "Word.application")を設定します
objdoc= objword.documents.addを設定します
objword.visible= true.
End Sub

私はリボンを変える5を含む114のテンプレートアドインを持っています.それらはすべてロードされ、リボンの修正を含めてアクティブです.
上記のコードは
からのものです https://stackoverflow.com/questions/47158574/Ho...

あなたは言葉を始めるためにどのコードを使っていますか?

このフォーラムは、ユーザー間のサポートフォーラムです.私は仲間のユーザーです.
この情報が役立つことを願っています.
この投稿に返信することで、より多くのヘルプを求めることができます(下の返信ボタン).

応答1# ->にスキップ
2 #
Astrid

こんにちは、チャールズ.
私のコードはあなたのコードに似ています.

Sub StartWDFromXL()

Dim oWdApp As Word.Application
Dim oWdDoc As Word.Document

次のエラー再開
Set oWdApp=GetObject(、 "Word.Application")
If Err Then
Set oWdApp=New Word.Application
Err.Clear
End If

エラー時にGoTo Err_Handler
oWdApp.Visible=True
oWdApp.Activate
Set oWdDoc=oWdApp.Documents.Add
oWdDoc.Range.Text="New Doc"

Set oWdApp=Nothing
Set oWdDoc=Nothing
Exit Sub

Err_Handler:
MsgBox Err.Number& ""&Err.Description

End Sub

機能しません.

3 #
Charles

こんにちはアストリッド、
これを十分に行く機会がありませんでした.これは最初の試行からです.

応答3# ->にスキップ
4 #
Astrid
単語ライブラリへの参照?
5 #
Charles
これはパッチされたコードです:

Sub StartWDFromXL()
Dim oWdApp 'As Word.Application
Dim oWdDoc 'As Word.Document
エラー時に再開
Set oWdApp=GetObject(、 "Word.Application")
エラーが発生した場合
Set oWdApp=CreateObject( "Word.Application")
エラークリア
終了する場合
エラー時にGoTo Err_Handler
oWdApp.Visible=True
oWdApp.Activate
Set oWdDoc=oWdApp.Documents.Add
oWdDoc.Range.Text="新しいドキュメント"
oWdApp=Nothingを設定します.
Set oWdDoc=Nothing
出口サブ
Err_Handler:
MsgBox Err.Number& ""&Err.Description
End Sub

システムで新しいドキュメントを実行して作成します.

応答5# ->にスキップ
6 #
Astrid

問題は、コードが実行されないことではなく、起動フォルダにあるアドインが読み込まれていないことです.

インターフェイスには、([開発者]タブで)ロードされていると表示されますが、リボンのカスタマイズは表示されません.

7 #
Charles
コードを試して、何が起こるかを確認してください.
また、私のシステムでは、アドインが読み込まれ、アクティブになっています.リボンの変更が行われます.
応答7# ->にスキップ
8 #
Astrid

こんにちはチャールズ

コードを試しました.同じ結果.

9 #
Charles
通常、単語の問題でセーフモードが提案されていますが、問題に対処していません.それが問題の原因であるかどうかを確認するために、normal.dotmファイルの名前を変更することができます.
アドインは、テンプレートでXMLを使用してリボンを変更しますか、それともVBA経由で実行しますか?
私はあなたと一緒にこれに取り組んでいますが、あなたの.dotmが必要です.私は裁判所の予定されているので、今日はもっとやることができません.
必要な場合は、oneDriveまたはdropboxに問題を解決してサンプル文書を保存してここにリンクを貼り付けます.最初に機密情報や機密情報を削除してください.私や他の誰かがそれを見てみることができます.
-ファイル...
応答9# ->にスキップ
10 #
Astrid
私は非常に単純な状況下で再現することができます:

  • コードなしのDOTMを作成
  • 次のXMLを追加します.

XMLNS:NSProject= "Project Namespace">

<リボンStartFromsCratch= "false">

<タブ>

IDQ= "nsproject:rxtabprojecthome"
insertaftermso= "tabhome"
label= "test tab">

IDQ= "NSProject:RxgrpProjectGeneral"
label= "test group">

  • Excelファイルに指定したコードを使用する
  • これを試してみると、リボンのカスタマイズは
を表示しません.

これを再現できますか?

私は3つの異なるシステムで再現されてから、これが通常のものでは何も関係ありません:Word 2016 32ビット、Word 16 64ビット、Word 2019 64ビット.彼ら自身の通常のものを持つすべてのもの.dotm

11 #
Charles

ここで複製できません.

  • 単語が閉じています.
  • Excelからコードを実行しました.

早く負荷をかける他のアドインがあります.

最初にロードされた他のアドインであるかもしれません.それらはアルファベット順にロードされています.

矢印はあなたのコードを持つものです.

私は裁判所に期限があり、今晩までオンラインに戻ることはできません.今週末、私は2016年を実行している私のシステムで試してみます.

12 #
Charles
13 #
HansVMV

アドインはロードされているように見えるが、ADD-INが表示されているが、Automationを使用してWordが起動されたときにリボンのカスタマイズが表示されないことを確認できます.

Windows 10Home 64ビットには、Word 2019 32ビット(Office 2019 Professional Plus)を使用しています.どちらも完全に更新されています.

1.単語は手動で始まった.

2.単語はExcelから自動化を使って始めました.

この問題をファイル>フィードバック>送信を送信してMicrosoftに報告できます.

応答13# ->にスキップ
14 #
Astrid

こんにちは、ハンス、
確認していただきありがとうございます!

たとえば、コマンドラインからスイッチを使用してWordを起動することもわかりました

WinWord.exe/t "パスとファイル名"
同じ動作になります.
カスタマイズが表示されません.

応答13# ->にスキップ
15 #
DougRob

これは、次のコードをExcel

で使用して、Word-version1904(Build 11601.20178)が開始されたときの(My Merge Toolsアドインからのマージツールタブ)です.

エラー履歴書次の

wdapp= getObject(、 "word.application")
誤って
BStartApp= true
wdapp= createObject( "word.application")を設定する

の場合は終了 エラーの後に0
wdapp.visible= true

リボンのカスタマイズはどのように作成されましたか?カスタムUIエディタの使用によって行われましたか?

応答15# ->にスキップ
16 #
Astrid

こんにちは、ダグ

はい、カスタムUIエディタを使用してカスタマイズを作成しました.

応答15# ->にスキップ
17 #
Astrid

こんにちは、ダグ.
Merge Tools Addin(MergeTools-20180219.dotm)をダウンロードして、スタートアップフォルダーに保存しました.私は自分のアドインを削除したので、あなたのファイルがロードする唯一のアドインでした.

  • Wordを手動で起動したところ、リボンの端にある[結合ツール]タブが表示されていました.
  • Wordを閉じて、Excelからコードを実行しました.残念ながら同じ結果で、リボンに[マージツール]タブはありません.
応答17# ->にスキップ
18 #
DougRob

は、私が言葉を始めたコードを使っていましたか?

ここで実行されているプロセスのビデオ

応答18# ->にスキップ
19 #
Astrid

こんにちはDoug、
はい、両方ともあなたのものと同じ、それは機能していません.

これは私の結果のビデオです.
リンク:Windows. 10 x 64 Office 2016 32ビット-VMware Workstation 18-5-2019 02_18_46.mp4?DL= 0
ビデオを見ることができますか?

応答19# ->にスキップ
20 #
DougRob

はい、ビデオが見えます.

私はまた、32ビットオフィスを使用していることに注意してください.また、32ビット版のオフィスでここでテストするだけで、同じことがわかります.-アドインはテンプレートとアドインダイアログごとにロードされますが、リボンカスタマイズは表示されません.しかし、あなたがチェックを外すならば
次に、テンプレートとアドインダイアログでアドインのボックスを再確認して、リボンのカスタマイズが表示されます.アドインのマクロが開発者>マクロの下で入手可能であるため、インテリアが表示されないというわけではないリボンのカスタマイズだけです.
そのダイアログから実行されます.

64ビット版のWindowsを使用している場合は、64ビット版のOfficeに変更することをお勧めします.これは、開発者が推奨するものである(以前に実行されていない限りお勧めできませんでした.非常に大きく複雑です
Excelワークブック.

私はVBAコードを実行して開始されたときに単語について異なるものに気付く-実際のOffice製品はファイルアカウントの下に表示されません>製品情報

しかし手動で開始されると、

が表示されます

応答20# ->にスキップ
21 #
Astrid

こんにちはDoug、

残念ながらこれは私のversionを変更することではありません.このアドインは、私の顧客のうちの1人が>1000システムで使用されています.彼らはすぐに自分のオフィス版を変更するつもりはない.

それは機能していないカスタムリボンだけでなく、アドインにも、AutomationからWordが起動されたときにも実行されないAutoExecコードも含まれています.
私は明日テストすることを計画していますApplicationイベントへの変更がそれを解決できるかどうかを確認することを計画しています.

アカウント画面の違いも表示されます.自動化が使用されているときのversionを表示しないでください.

Word 2016 64Bitsで同じ動作を見ることができ、カスタマイズをロードしないで、AutoExecプロシージャを実行していません.

応答21# ->にスキップ
26 #
DougRob

Microsoft Office 365 Proplus(Subscription Products)の64ビットインストールに関する問題は発生しません./P>

32ビットMicrosoft Office 365 Proplus(合計商品)

32ビットMicrosoft Office Professional Plus 2019

チャールズ、どのようなオフィスインストールを実行していますか?

応答26# ->にスキップ
27 #
Astrid

私はあなたが正しいかもしれないと思います、そしてこれは私たちが見る変化の指標になるかもしれません.プロプルス対Professional Plus.

私が試したすべてのversionはProfessional Plus(2016 32と64ビットとも2019 32と64ビットの両方)です.私はこの瞬間に365のプロプルスを持っていませんので、私はそれを試してみることができません.
彼がプロのプラス版でもテストした(32ビット).

Professional Plusの64ビット版でテストする可能性がありますか?

応答27# ->にスキップ
28 #
Charles

ProPlus=Professional Plus

ただし

365は2016年や2019年と同じではありません

1つ目は、定期的に変更/調整される定期購入製品です.2016と2019は永久ライセンス製品です.

My 365 Home(University)は、最初に投稿したのと同じBuildです.それ以降更新され、version1904になりました-Build11601.20204クイック実行.

2016 Professional Plus(HUP)を確認したところ、version1905です.そのコンピューターでこの問題をまだ確認していません.今夜はそうします.

他の人があなたの問題を再現しているので、MSが対処することは間違いなく何かだと思います.MVPであるため、ハンス、ダグ、ポール、ステファンはすべてMSのバックチャネル連絡先にアクセスでき、そのうちの1人以上が問題を引き起こすと思います.

ここでも、複数のアドインをロードして、違いがあるかどうかを確認することをお勧めします.今夜ここに戻ります.

応答28# ->にスキップ
29 #
Astrid

こんにちはチャールズ、

Office 365とスタンドアロンのversionの違いを知っています.

私は365ライセンスのアカウント画面の説明としてProplusを使用したと思いました.これは当てはまりませんか?
元の単語MVPとして、マイクロソフトへの報告がどのように機能するかを理解しています.私はあなたがすべてあなたの連絡先にあなたの連絡先に報告することを願っています.

応答29# ->にスキップ
33 #
Charles

ああ、あなたはそのアストリッドです.まだかなりの量のコードスニペットを使用しています.過去のご協力に感謝いたします.

応答27# ->にスキップ
30 #
DougRob

こんにちはアストリッド、

64ビットのMicrosoft Office Professional Plus 2019-version1904(Build11601.20204クイック実行)をインストールしました.Excelで以前に投稿したコードを実行して開始すると、リボンのカスタマイズがアドインはありません
ロードされました.

したがって、64ビット版のMicrosoft Office Professional Plus 2019の動作と64ビット版のMicrosoft Office 365 ProPlusの動作には違いがあります.

p.s.あなたがもはやMVPではないことを知りませんでした.ただし、これはNDAメーリングリストで報告します.

応答30# ->にスキップ
31 #
Astrid

ありがとうDoug!

問題があるかもしれない場所に近づいているようです.

これは正しいRECAPですか?

version オートメーションが正しく機能しない:リボンのカスタマイズ、AutoExec
Office 2016 Professional Plus 32ビット 問題が存在します
Office 2016 Professional Plus 64 Bits 問題が存在します
Office 2016 Proplus(365)32ビット 問題が存在します
Office 2016 Proplus(365)64ビット が機能していますOK
Office 2019 Professional Plus 32ビット 問題が存在します
Office 2019 Professional Plus 64 Bits 問題が存在します
Office 2019 Proplus(365)32ビット ?
Office 2019 Proplus(365)64ビット ?

私は2016年と2019年の両方のOffice 365 Proplusに2つの公式versionがあるか、あるいは1つだけなのか、あるいは1つだけですか?

応答31# ->にスキップ
32 #
DougRob

こんにちはアストリッド、

本当に1つしかありません.ProPlusはOffice 365サブスクリプション製品であり、Microsoftはこれを年の指定(2016でも2019でもない)で参照しなくなりました

つまり、tableは次のようになります.

version 自動化が正しく機能しない:リボンのカスタマイズなし、autoexecなし
Office 2016 Professional Plus 32ビット 問題がある
Office 2016 Professional Plus 64ビット 問題がある
Office 365 ProPlus(365)32ビット-サブスクリプション製品 問題がある
Office 365 ProPlus(365)64ビット-サブスクリプション製品 正常に機能している
Office 2019 Professional Plus 32ビット 問題がある
Office 2019 Professional Plus 64ビット 問題がある

他のOffice 365サブスクリプション製品の状況はどうなっているのかわかりません

Office 365ホーム

Office 365 Personal

Office 365 Business

Office 365 Business Premium

応答32# ->にスキップ
34 #
Charles

32ビットのOffice 365 University(当初はHomeコードを使用してインストールされていました)があります.

変更内容は、リストされているコードを通じて正常に読み込まれます.

応答34# ->にスキップ
35 #
DougRob
version 自動化が正しく機能しない:リボンのカスタマイズなし、autoexecなし
Office 2016 Professional Plus 32ビット 問題がある
Office 2016 Professional Plus 64ビット 問題がある
Office 365 ProPlus 32ビット-サブスクリプション製品 問題がある
Office 365 ProPlus 64ビット-サブスクリプション製品 正常に機能している
Office 365 University 32ビット-サブスクリプション製品 正常に機能している(Charles Kenyonによる)
Office 2019 Professional Plus 32ビット 問題がある
Office 2019 Professional Plus 64ビット 問題がある
応答35# ->にスキップ
36 #
Charles

作業列に追加するもう1つ:

2016 Professional Plus 32-bit(Home Use Program)Version 1905

応答36# ->にスキップ
37 #
DougRob

チャールズ、

あなたはそれがversion1905で、1904年ではないと確信していますか?Build番号は何ですか?

応答37# ->にスキップ
38 #
Charles

はい、1905です.(私はOffice 2106(HUP)でInsiderにいます.理由はわかりません.

Build11629.20196クリックして実行

月次チャネル(ターゲット)

2016 Professional Plus

そのコンピュータはほとんど使用していません.それは私の妻のものです.

応答38# ->にスキップ
39 #
DougRob

64ビットのMicrosoft Office Professional Plus 2019-version1905(Build11629.20196クイック実行)または同じversionと32ビットのBuildではまだ機能しない
Office 365 ProPlus-サブスクリプション製品.

応答39# ->にスキップ
40 #
JorgeRi

こんにちは

「同じ」問題があります.

先週Office 365 Businessクライアント(x64)が更新されたときに、すべてのクライアントのマシンで起動しました 半年チャネル1808から 1902(新しいアイコンを備えた新しいUI).

完全なロールアップの前に1902をターゲットSACでテストしましたが、問題をテストしていたユーザー(またはリボンが使用されていなかった)は問題を無視したようです.xD

今夜、一部のユーザーを1808 SACにロールバックしようとしますが、このversionのサービスは2020年3月に終了します.そのため、これを修正するには18か月かかります!

助けて! xD

応答13# ->にスキップ
23 #
Charles

これは、同じBuildでOffice 365を使用している場合とは異なります.彼らはロードして動作します.日曜日にOffice 2016のインストールを試すことができます.

22 #
Charles
議論に追加する...

私は32ビット版のオフィスを実行しており、Merge Toolsアドインまたはリンクを受けた一時的なものに問題がありません.
https://www.dropbox.com/s/0r1ltecxo8688c6/testb...
そのため、32ビット/64ビットの区別ではありません.
24 #
Charles
アイリーンズラウンジで、Hans VogelarさんはWord Objectライブラリへの参照が必要であると提案しました.
Excel vbaのOfficeオブジェクトモデルへの参照があります.
ただし、Microsoft Word 16.0オブジェクトモデルへの参照を追加してみてください.
応答24# ->にスキップ
25 #
DougRob

Microsoft Word 16.0オブジェクトライブラリへの参照の設定Wordversion1904の32ビットインストールを使用する場合は、ここに差を生じさせません(Build11601.20178クリックします)

テンプレートとアドインダイアログを表示するコマンドをExcelコードに含めた場合、そのダイアログは

として表示されます.

には、利用可能なアドインがリストされていません.DoEventsを使用するか、時間遅延を導入することは違いはありません.

さらに、ダイアログを2回表示するコマンドを含めると、[OK]をクリックすると解除され、再開され、それでも利用可能なアドインのリストが含まれていません.