[Office | Excel | C#] 如何透過程式不彈出相容性檢查程式視窗(Check Compatibility warning dialog)

最近有需要寫到Excel程式,在Excel中透過automation駔唷些操作,而其中原本是xlsx格式的檔案患有需要轉為xls格式,此時便會有一些相容性的問題出現,例如頁首頁尾的類型等等…

但是,此時會彈出「相容性檢查程式」的警告對話框視窗,一般會由我們使用者互動,按下繼續或取消,但是透過程式時,因為要做自動化,自堧不會意識到視窗的出現,所以,到底要怎麼關閉他? 或是預設不讓相容性檢查程式彈出呢?

其實很容易,只需要簡單的幾行Code就可以,讓我們來試試看!

前言

 


 

最近有需要寫到Excel程式,在Excel中透過automation駔唷些操作,而其中原本是xlsx格式的檔案患有需要轉為xls格式,此時便會有一些相容性的問題出現,例如頁首頁尾的類型等等…

但是,此時會彈出「相容性檢查程式」的警告對話框視窗,一般會由我們使用者互動,按下繼續或取消,但是透過程式時,因為要做自動化,自堧不會意識到視窗的出現,所以,到底要怎麼關閉他? 或是預設不讓相容性檢查程式彈出呢?

其實很容易,只需要簡單的幾行Code就可以,讓我們來試試看!

 

解決辦法

 


 

首先,相容性檢查程式的圖案是如下圖:

相容性檢查程式關閉

 

而關閉的方式只需要在存檔前已就是SaveAs前,補上以下程式碼即可

//關閉相容性檢查的對話框
theWorkBook.CheckCompatibility = false;

就可以相容性檢查程式視窗不在出現了

如果此方法仍不行,代表你的文件可能是更早以前的版本2007之前,那麼還需要再加入另一行試試看:

theWorkBook.DoNotPromptForConvert = true

以上希望有協助到:)

 

 

參考資料

 


 

Workbook.CheckCompatibility 屬性

Workbook.DoNotPromptForConvert 屬性

希望有幫助到。

 


 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝 =)

另外要轉載請附上出處 感謝