web-dev-qa-db-ja.com

OfficeプログラムからVBAを利用できません

最近、Windows 10、Avira Free Antivirusv。15.0.44.142、およびOffice Professional Plus 2010を再インストールしました。再インストールする前は、このアプリケーションの組み合わせは正常に機能していました。

ここで、新しいWord文書からVBA IDEを開こうとすると、次のメッセージが表示されます。

Wordで問題が発生しました。

ファイルの保存に問題があります。

ディスク容量の不足、RAMの不足、権限の不足など、考えられる原因がいくつかあります。どれも関係ありません。

関連する可能性があるのは次のとおりです。

このエラーは、コンピューターがMicrosoft Officeと互換性のないバージョンのウイルス対策ソフトウェアを実行している場合、または更新する必要がある場合にも発生する可能性があります。

前述のように、私はAvira Free Antivirusを実行しており、AFAICTアンチウイルスが更新されています。 Aviraリアルタイム保護がオフになっているときにVBA IDEを開こうとしましたが、成功しませんでした。

メッセージを閉じると、VBA IDEウィンドウが開きますが、使用可能なプロジェクトがなく、ほとんどのメニュー項目が無効になっています。

VBA IDEを開く前に、.docm拡張子の付いたドキュメントを保存しても役に立ちません。

他のアプリケーションからVBA IDEを開こうとすると、同等の奇妙な結果があります。

  • Excelには、3つのプロジェクトProject1Project2、およびProject3ですが、各プロジェクトの下に通常のオブジェクトツリー(クラスモジュール、標準モジュールなど)がなく、ThisWorkbookノードもありません。
  • PowerPointはWordと同じように動作しますが、プロジェクトはまったくありませんが、エラーは発生しません。

Officeインストーラーを使用してVBAをアンインストールして再インストールしてみました。

セキュリティ設定は、警告付きのマクロを無効にするように設定されています。 IIRCの古い動作は、特定のドキュメントでマクロを明示的に許可しない限り、マクロを無効にすることでした。 各アプリケーションのオブジェクトモデルを信頼するがチェックされます。

Aviraでこれを制御する設定を探しましたが、成功しませんでした。

レジストリには、説明されているVBAOffキーが含まれていません ここ

OfficeアプリケーションのVBAを有効にするにはどうすればよいですか?

注意。以前のインストールは、Windows10のクリーンインストールではありませんでした。最初はWindows8、次に8.1、次に10でした。

VBAエディターを開く前に試したこと:

  • 修理事務所
  • Officeをアンインストールして再インストールしてから、Office 2010SP2を手動でインストールします
  • Windows Update(前述の手動インストール後にのみOffice Updateが見つかりました)
  • 管理者権限でWordを実行する
  • トラストセンターから選択したすべてのマクロを有効にする
  • Normal.dotmテンプレートを削除し、Wordで再作成できるようにする
  • Officeのアンインストール、コメントで@harrymcによって参照されている「CleanOfficeアンインストール」ツールの実行、およびOfficeの再インストール
  • Outlookの追加(以前はインストールされていませんでした)
  • UACをオフにする(Wordを起動する前)
  • セーフモードで起動する-Wordを起動できませんでした。単語がアクティブ化されたものとして認識されませんでした
  • HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled = 1を設定し、再起動します

イベントビューアを見ると、システムアプリケーションに何も見つかりませんでした-)またはセキュリティ(すべてWindowsログの下)。私が見つけた唯一のことは、WordでVBAエディターを開こうとするたびにアプリケーションとサービスログ-> Microsoft Officeアラートで次のイベントでした新しいドキュメント:

Log Name:      OAlerts
Source:        Microsoft Office 14 Alerts
Date:          07/03/2019 20:49:42
Event ID:      300
Task Category: None
Level:         Information
Keywords:      Classic
User:          N/A
Description:
Microsoft Word
Word has encountered a problem.
P1: 200815
P2: 14.0.7015.1000
P3: 5v59
P4: 0x80070002

Event Xml:
<Event xmlns="http://schemas.Microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft Office 14 Alerts" />
    <EventID Qualifiers="0">300</EventID>
    <Level>4</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2019-03-07T18:49:42.772417400Z" />
    <EventRecordID>120</EventRecordID>
    <Channel>OAlerts</Channel>
    <Security />
  </System>
  <EventData>
    <Data>Microsoft Word</Data>
    <Data>Word has encountered a problem.</Data>
    <Data>200815</Data>
    <Data>14.0.7015.1000</Data>
    <Data>5v59</Data>
    <Data>0x80070002</Data>
  </EventData>
</Event>

ExcelまたはPowerPointでエディターを開いたときに同様のイベントはありません。


Sysinternals ProcMonを使用して、WordからVBAエディターを開こうとしているときにのみキャプチャし、Process Name = "WINWORD.EXE"の結果をフィルタリングし、SUCCESSBUFFER OVERFLOW、およびNAME NOT FOUNDResult、私は次を見つけました:

RegOpenKey         ACCESS DENIED      
      HKLM\Software\WOW6432Node\Microsoft\VBA
CreateFileMapping  FILE LOCKED WITH READERS
      C:\Program Files (x86)\Common Files\Microsoft shared\VBA\VBA7\VBE7.DLL
CreateFileMapping  FILE LOCKED WITH READERS
      C:\Program Files (x86)\Common Files\Microsoft shared\VBA\VBA6\VBE6EXT.OLB

FILE LOCKED WITH READERSは何度も繰り返されます。

しかし、さらに調査すると、後で同じレジストリキー(HKLM\Software\WOW6432Node\Microsoft\VBA)からの読み取りが成功することがわかりました。また、CreateFileMappingはパスの長い名前を使用しています。この直後に、DOS名を使用したCreateFileMappingが成功します。 C:\PROGRA~2\COMMON~1\MICROS~1\VBA\VBA7\VBE7.DLL

5
Zev Spitz

最新のアップデートを確認またはインストールする

推奨される更新プログラムを自動的にダウンロードしてインストールするようにWindowsUpdateを設定する必要がある場合があります。重要な、推奨される、およびオプションの更新プログラムをインストールすると、古いファイルを置き換えて脆弱性を修正することにより、問題を頻繁に修正できます。最新のMicrosoftOffice更新プログラムをインストールするには、 OfficeとコンピューターをMicrosoft Updateで更新する を参照してください。

最新のOffice更新プログラムのリストについては、 Office更新プログラム を参照してください。最新のWindowsおよびOfficeの更新プログラムをインストールしても問題が解決しない場合は、方法2に進みます。

コンピューターにWindows用の最新の更新プログラムがインストールされていることを確認することをお勧めします。多くの場合、更新によってソフトウェアの問題が修正されます。次のいずれかの方法を使用する前に、まず更新プログラムをインストールしてみてください。更新プログラムをインストールしたら、コンピューターを再起動して、Wordを起動します。

Wordの起動時に発生する問題のトラブルシューティング

重要
このセクションの手順に注意深く従ってください。レジストリを誤って変更すると、重大な問題が発生する可能性があります。変更する前に、 復元のためにレジストリをバックアップしてください 問題が発生した場合に備えて。

試すべきトラブルシューティング方法は次のとおりです。

方法1:ドキュメントを別のファイルに挿入する
方法2:/ aスイッチを使用してWordを起動する
方法3:WordDataレジストリサブキーを削除する
方法4:WordOptionsレジストリキーを削除する
方法5:Normal.dotまたはNormal.dotmグローバルテンプレートファイルを置き換えます
方法6:スタートアップフォルダーのアドインを無効にする
方法7:COMアドインのレジストリキーを削除する
方法8:デフォルトのプリンターを変更する

[〜#〜] msdn [〜#〜] の詳細に従ってください。

1
user5377037

あるとき、同じコンピューターでMS Office2016とMSOffice 2003の両方を使用しているときに同じエラーが発生しました。多くの検索を行ったところ、管理者アカウントであっても、十分なアクセス許可がないことに似ていることが1つ見つかりました。

あなたが言ったように、あなたはWindows 1を使用しています。タスクマネージャーを開き、Office Source Engineステータスを確認します。停止している場合は実行しますが、実行できない場合はCcleanerを試してレジストリをクリーンアップし、コンピューターを再起動します。

0
Murtaza Abbasi

権限とファイルアクセスを確認する

このエラーは、ファイルの作成/書き込み/読み取りができないことを示しているため、Sysinternalsによる procmon を使用して、Officeアプリケーションによる読み取り/書き込みエラーまたはアクセス拒否エラーを明らかにすることから始めます。必要なパスのフォルダが見つからないか、ファイルのアクセス許可が期待どおりに設定されていない可能性があります。

これにより、特定のレジストリキーが欠落しているか、権限が正しくないかが明らかになる場合もあります。

UACが起動をブロックしていないことを確認します

まだ行っていない場合は、UACを一時的にオフにしてから、アプリケーションを実行してみてください。 UACは、元のアプリを管理者として実行しているにもかかわらず、他のプロセスが生成されないようにすることができます。

警告とエラーがないかイベントログを確認する

システムアプリケーションおよびSecurityイベントは、試行の前後のエラーと警告をログに記録します。それらが存在し、VBAを開始するたびに繰り返す場合は、さらなる証拠としてそれらを質問に追加してください。

新鮮な環境で始める

ローカル管理者権限で新しいユーザーアカウントを作成します。新しいアカウントでログオンし、VBAエディターを起動してみてください。これにより、ローカルのデフォルトのユーザープロファイルに基づく「クリーンな」環境が提供され、ユーザープロファイルの破損が原因であるかどうかを判断するのに役立ちます。

0
Jens Ehrich

この奇妙な問題は、実際にはすべてのコンピューターでさえ、複数のコンピューターで発生するため、これはOfficeのバグよりもインストールに関連しています。

問題は、会社がWindows Updateパッチを選択的にインストールしている(MSUS)か、インストールオプションの不幸な選択、またはすべてのコンピューターにインストールしたソフトウェア製品(主な疑いは常にセキュリティソフトウェア)である可能性があります。

実行できるテストの中には、セーフモードで起動してすべてのサードパーティソフトウェアを無効にするか、 Process Explorer を使用してどのプロセスがロックされているかを確認するものがありますVBE7.DLLおよびVBE6EXT.OLB

最後のテストは、既定のインストール設定を使用してWindows 10とOfficeのみをクリーンインストールし、更新が見つからなくなるまでWindowsUpdateを繰り返し実行することです。単純化するために、仮想マシンでこれを行うことができます。

何を見つけても、この問題はインストール方法やソフトウェアに関係していると思います。

0
harrymc