2

りぼんがカスタマイズされた Excel-2007/VBA アプリケーションを開発していますが、大きな問題が発生します。

私の Robbpn には、getVisible コールバックをアタッチした 10 個のボタンがあり、そのうちの 1 個には動的ラベル (これもコールバックを使用) があります (= 合計 11 個のコールバック)。これらはすべて正常に動作します。

ただし、次の 2 つの問題が発生します。

1 それほど重要ではありませんが、関連している可能性があります) VBA にブレークポイントを設定してマクロ プログラムを実行すると、そのブレークポイントが設定されて VBA エディターが表示されるとすぐに、「ブレーク モードでコードを実行できません」というメッセージを示すアラートが 11 回表示されます。

2 (重要なエラー)。私の VBA アプリケーションでは、Connection.ODBCConnection.Refresh を使用して SQL クエリを実行しています。このクエリは低速です。screenupdating=false にもかかわらず、約 10 秒後にウィンドウの背景が (水色に) 変わります。その時点で、11 個のエラー アラートのうちの最初のアラートが表示されます。これらのアラートにはテキストは含まれず、vbCritical アイコン、[OK]、および [ヘルプ] ボタンのみが含まれます。そのOKボタンを押すと(11回)、プログラムは更新を完了し続け、すべて問題ありません。

とにかくこれらのアラートを排除する方法はありますか? (ちなみに、on エラーはそれらをトラップせず、Application.displayAlerts true または false または screenUpdating true または false の影響も受けません)。

これを解決するためのヒントはありますか?グレイティング・ジョン

4

1 に答える 1

-1

解決策を見つけました。数式の [Excel の詳細オプション] でマルチスレッド計算をオフにします。リボン コールバックがスレッド セーフではないことを示す追加のドキュメントを見つけました。

項目 1 は、リボンを使用する場合の意図された動作です。2 番目の項目は意図したものではなく、まだ解決策が見つかりません。私の場合、これが発生すると、リボンのチェックボックスの状態が失われます。

于 2013-02-05T21:54:01.887 に答える