none
C#からExcelの保存確認ダイアログを抑止したい! RRS feed

  • 質問

  • はじめまして、はじめて本フォーラムを利用させて頂きます。
    何か拙い点などがございましたら、皆様ご指摘下さいますようお願い致します。
    現在、C#を利用してExcelファイルを表示するプログラムを開発しており、問題に
    直面しており困っております。色々と調査したのですが、解決に至っておらず、
    皆様のご意見、アドバイスを期待させて頂き投稿させて頂きました。
    (実際にはもう少し大掛かりなシステムなのですが、問題部分だけに特化させて
    頂いて記載しております。)


    【開発環境】
    VisualStudio2005 C#(.NetFramework2.0) Windowフォームアプリ
    WindowsXP, Windows7
    Excel2007


    【問題内容】
    C#からWebBrowserコンポーネントを利用して、Excelファイルを開いておりますが、
    中にはマクロなどが組み込まれているファイルが存在しており、Excelファイルを開いて
    閉じるだけで保存確認ダイアログが表示されてしまうファイルがございます。
    そうなった時にシステム側からExcelを制御できず、C#の処理が止まってしまいます。
    この問題を回避する為に、C#からExcelの保存確認ダイアログを強制的に表示しない
    ようにしたいと考えております。その為にはC#プログラミングで何とかするか
    Excelの設定にて回避する必要があると考えておりますが、その方法が見つからず
    苦戦しております。
    皆様、何か良い方法や手法など、良い知恵がございましたらご教示して頂けますと
    非常に助かります。

    (DisplayAlertプロパティをfalseにするなど、試してみましたが現状保存確認ダイアログ
    の抑止に成功出来ておりません。)


    以上です。

    2011年7月5日 12:47

回答

すべての返信

  • Workbook オブジェクトの Close メソッドでなんとかなりませんか?

    wb.Close(false, Type.Missing, Type.Missing);

    • 回答の候補に設定 山本春海 2011年7月21日 8:15
    • 回答としてマーク 山本春海 2011年7月25日 5:52
    2011年7月5日 13:11
  • Workbook の Saved プロパティをセットして、保存をしたフリをするとか。

    [XL2002]保存確認メッセージを表示せずにExcelを終了する方法
    http://support.microsoft.com/kb/408045/ja

    • 回答の候補に設定 山本春海 2011年7月21日 8:15
    • 回答としてマーク 山本春海 2011年7月25日 5:52
    2011年7月5日 13:45
  • アドバイスありがとうございます。
    下記について組み込んで動作を確認してみます。
    すぐには回答を返せないかも知れませんが、結果が出次第、ご報告させて
    頂きます。

    1.>Workbook オブジェクトの Close メソッドでなんとかなりませんか?
    >wb.Close(false, Type.Missing, Type.Missing);


    2.>Workbook の Saved プロパティをセットして、保存をしたフリをするとか。
    >
    >[XL2002]保存確認メッセージを表示せずにExcelを終了する方法
    >http://support.microsoft.com/kb/408045/ja

    以上です。

    2011年7月6日 2:07