【Wordマクロ】WordでExcelを起動する場合のエラー回避方法 | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

私のパソコンには、Office 2003からOffice 2013がインストールされています。

そのため、異なるバージョンのアプリケーション使いやすくするために必要な設定があります。

たとえば、異なるバージョンのWordを起動するたびに設定変更の画面が出てしまい、非常に面倒です。

そこで、この画面がでないようにするレジストリの変更をします。

これは、Excel MVPの伊藤潔人さん が記事にされていますので、そちらをご覧ください。

複数バージョンのWord混在時の起動を速くする



少し話が横道にそれましたが、今回の記事は、マクロを使ってWordからExcelファイルを開く場合の話です。

自分のメモです。対処できたので書いておきます。


【問題点】

たとえば、簡単なコードで以下のようなものがあります。

Sub Excel呼び出し例()

 Dim xlApp As Object

 Set xlApp = CreateObject("Excel.Application")

 '処理・・・・

 xlApp.Quit
 Set xlApp = Nothing

End Sub



このような感じでWordからExcelを起動して操作できます。Excelのファイルを開きオートフィルタやVLookUpを使ったりできます。

このVBAでは、通常は、最後にインストールしたバージョンのOfficeのExcelが開かれます。

しかし、そうならないときがあります。なぜか、一番最初にインストールしたExcel 2003が起動することがありました。

プログラムにより挙動が異なりました。別のプログラムでは、同じようにWordからExcelを起動すると、最後にインストールしたExcel 2013が開くことがあったからです。とにかく不安定でした。(原因はよくわかりません)

Excel 2003が開くと不具合が起きます。.xlsxファイルを開こうとすると、Excel 2003がVBAで呼び出されているためにエラーメッセージが表示されるのです。



【回避策】

プログラムを修復します。結果、常にExcel 2013が起動するようになりました。

今回の場合には、Office 2013を修復しました。

Office 2013を一番最後にインストールしたはずなのに、コンピューターでそのように認識されていなかったようなので、しっかり認識させるために修復をしました。

この場合、WordのNormal.dotmはそのまま残りますし、Officeのクイックアクセスツールバーも残ります。Outlookの設定もそのままです。問題なく使えます。

なお、プログラムの修復については、インターネット上にいろいろ情報がありますから探してみてください。



▼関連記事

複数バージョンのWord混在時の起動を速くする