Windows 7にアップグレードしました。MSOfficeを再インストールした後、興味深いエラーが発生しました。データベースをクリックすると、「プログラムへのコマンドの送信中に問題が発生しました」というポップアップメッセージが表示されますが、ファイルアプリケーションは引き続き起動し、適切なデータベースが開きます。
このようなものを見たことがありますか?
この問題を調査して修正するにはどうすればよいですか?
注:ゾーンアラームを使用していません。この問題に関するほとんどのオンライン検索では、ゾーンアラームの使用に関する問題を説明するさまざまなサイトとMSKB記事が返されます
解決済み:おかげでMihi ---レジストリキーの名前をddexecからNOddeexecに変更した後、問題は解消しました-まだDDEが壊れている理由はわかりませんが、今のところ十分に機能しています
この問題はありましたが、特定のオフィス製品でのみ発生しました(つまり、ExcelとWordは機能しましたが、Accessはメッセージで失敗しました)。
Windows 7-64ビットで問題を修正した方法を次に示します(おそらくVistaでも機能します)。
注:このソリューションには、システムレジストリの編集が含まれます。レジストリを誤って編集すると、オペレーティングシステムが破損する可能性があるので注意してください!
Windows 7で提供されるレジストリエディター(Regedit)の使用
HKEY_CLASSES_ROOT\.mdb
(Office 2007を扱っていましたが、関心のあるファイル拡張子エントリを見つけてください)。(Default)
値のエントリを確認し、それが参照するHKEY_CLASSES_ROOT
でキーを見つけます(私の場合、これはAccess.MDBFileです)。Shell
を見つけて削除します(上記の警告を参照)これを行った後、設定を確認したところ、レジストリのAccess.MDBFile
キーが変更されていることに気付きました。ファイルの関連付けの新しいホームを指すCLSID
キーが含まれています。
CLSID
(私の場合はHKEY_CLASSES_ROOT\Access.MDBFile\CLSID
、(Default)
の値は{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
)でした 。CLSID
(中かっこを除く)を検索しました。Look at
-> Keys
検索を実行する前に(私の場合、キーHKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
が見つかりましたが、これは異なる可能性があります。私の例は、64ビットシステムが32ビットバージョンのOffice 2007を処理する場合です)。基本的に、このエラーは、ファイルの種類がDDE(同じコンピューターで実行されているアプリケーション間の古いWindows-3.xスタイルの通信プロトコル)を使用してファイルを開くように設定されている場合に表示されます。
それはエクスプローラーのフォルダーオプションのファイルタイプにあります(Windows 7のどこかにあるかもしれませんが、管理者がどのプログラムでどのファイルを開くかを設定できる場所があります)。
その「DDEを使用する」オプションがチェックされている場合、Windowsはまずプログラムがすでに実行されているかどうかをチェックし、次に(実行されている場合)DDEメッセージ(「アプリケーション」、「トピック」、「メッセージ」の3つのテキストからなる)を送信します。 )。これにより、プログラムが既に実行されている場合でも、プログラムを再度開くことを回避できます。プログラムが実行されていないときは、通常どおり開始されます。 DDE接続が失敗した場合、あなたが言及するダイアログが表示され、通常通りプログラムを再び起動します。
したがって、最も簡単な修正は、データベースのファイル拡張子の「Use DDE」を無効にすることです(おそらく.mdb)。この唯一の欠点:データベースを開き、Accessが既に実行されている場合、WindowsはAccessの2番目のインスタンスを開きます。Accessの2番目のインスタンスは、最初のインスタンスに気づき、DDEメッセージを送信して終了します。 I. e。不必要にAccessを起動しているため、一度に閉じることができます。しかし、最近は高速のCPUとハードディスクを使用しているので、これは許容できると思います:-)
より複雑な修正は、これらの設定に何か問題があるかどうか(間違ったトピックや間違ったアプリケーションなど)をチェックして修正することです。そのためには、DDE構成を比較できるように、ファイルを開くことができる別の(おそらく仮想)マシンにアクセスする必要があります。
編集:このウェブサイト によると、そのタブはVistaで削除されました。レジストリでいつでも手動で実行できます。ルックアップHKEY_CLASSES_ROOT\.mdb
のデフォルト値(mdbfile
など)を探し、そのデフォルト値(HKEY_CLASSES_ROOT\mdbfile\Shell\open\ddeexec
)。
これがAccess 2002で見つけたソリューションです。他のバージョンのAccessでも同様です。
それは私のために働いた! 「コマンドをプログラムに送信するときに問題が発生しました。」エラー。
Accessのバージョンが異なると、[DDE要求を無視する]オプションの記述が少し異なる場合がありますが、比較できるものを見つけることができるはずです。
これが同じ問題を抱えている他の人を助けることを願っています。
MSから修正する-プログラムへのコマンドの送信で問題が発生しました。
(Excelがエラーで開くか、ワークブックが表示されない)
この記事は、以前は次のIDで公開されていました:JP211494.
Access 2007の修正は次のとおりです。
レジストリをいじる必要なく問題なく開くはずです。
私はAccessを使用していませんが、スタートメニューの[最近]リストからドキュメントを開いているときに(Wordショートカットメニュー項目の矢印を使用して)、ExcelとWord(2007)で同じ問題がWin7で発生し始めました。 DDEチェックボックスソリューションは、既にオフになっている(そして、私の知る限り、Wordには存在しない)ため、私には適用されませんでした。
私は問題を解決したと思われる解決策を見つけました:ドキュメントのショートカットの[プロパティ]ダイアログを(コンテキストメニューから、下のスクリーンショットを参照)開いたとき、[開く方法]フィールドが何らかの形で変更されていることに気付きましたMicrosoft Word以外の別のアプリケーション。 [変更]ボタンをクリックすると、このファイルを "Microsoft Office Word"に再度関連付けることができました(レジストリを変更する必要はありません)。
私は無分別ではありませんが、アクセス時にこのオプションでDDEコールを聞くことが無効になっている可能性があります。 WordとExcelでもこのオプションを見ましたが、アクセスを覚えていません。たぶんこれを無効にするためのセキュリティ問題...
このようなものを見たことがありますか?
おそらく、エラーはこのMSKB記事に文書化されているためです。また、ZoneAlarmに関連して言及されています。
活動のログ:
コントロールパネルを使用してOffice 2007のインストールを変更し、Accessを削除しました。次に、コントロールパネルを使用して、Accessを追加し直しました。これは問題に影響を与えませんでした。
コントロールパネルを使用してOffice 2007のインストールを修復した後、再起動しました。これは問題に影響を与えませんでした。
注:
Access ADPファイルを備えたWindows 7でOfficeを使用しているときにこのエラーが表示される場合、問題はファイアウォールが原因である可能性があります。
Windows 2007 XP with Access 2007は、MSSQLサーバーとの通信にSMBを使用します。 Access 2007を搭載したWindows 7は、TCP(標準SQLポート)ポート1433を使用してMSSQLサーバーにアクセスしようとします。 Windowsファイアウォール、またはハードウェアファイアウォールがポート1433をブロックしている場合、3回接続を試み、3回目に失敗すると、SMBに切り替えて正常に動作します。
SQL Serverを実行しているサーバーでTCPポート1433を開きます。
Windows 7がXPのようにTCPの代わりにSMBポート1433を最初に使用する理由がわかりません。また、どのように変更するかわかりません。