Excel の COM インターフェイスを使用して、さまざまなソースからのデータを Excel ファイルに取り込む Python スクリプトがあります。ここにスニペットがあります:
file=win32com.client.Dispatch("Excel.Application")
#various manipulation goes here
file.DisplayAlerts=False
sheet.Delete()
file.DisplayAlerts=True
すべてが入力された後にシートの 1 つを削除する必要があるため、DisplayAlerts をオフにして、削除の確認を求めないようにします。ユーザーがデータを失わないように、後でもう一度有効にしたいです。ただし、DisplayAlerts が再びオンになった後、シートを切り替えると、「このワークシートの数式に無効な参照が 1 つ以上含まれています。数式に有効なパス、ワークブック、範囲名、およびセル参照が含まれていることを確認してください」というメッセージが表示されます。通常、このメッセージは表示されませんが、数式はすべて期待どおりに機能しています。メッセージを回避するにはどうすればよいですか?
このメッセージは、データ範囲に多くの #N/A 値があるグラフがあるという事実に関係していると確信しています (そのため、ポイントは描画されません)。しかし、これらのメッセージを取り除くにはどうすればよいでしょうか? また、これらの 3 行のコードの後にメッセージが表示されるのはなぜでしょうか? また、DisplayAlerts をオフにして再度オンにしても、メッセージは表示されません。これには削除が関与しています。
また、そのメッセージがどこに問題があるかを示すだけではない理由はありますか?
このメッセージは、シートが最初に切り替えられたときにのみ表示され、チャートの範囲に編集が加えられるたびに返されます。また、DisplayAlerts をオフにせずにシートを削除しただけでは表示されません。