最近有需要寫到Excel程式,在Excel中透過automation駔唷些操作,而其中原本是xlsx格式的檔案患有需要轉為xls格式,此時便會有一些相容性的問題出現,例如頁首頁尾的類型等等…
但是,此時會彈出「相容性檢查程式」的警告對話框視窗,一般會由我們使用者互動,按下繼續或取消,但是透過程式時,因為要做自動化,自堧不會意識到視窗的出現,所以,到底要怎麼關閉他? 或是預設不讓相容性檢查程式彈出呢?
其實很容易,只需要簡單的幾行Code就可以,讓我們來試試看!
前言
最近有需要寫到Excel程式,在Excel中透過automation駔唷些操作,而其中原本是xlsx格式的檔案患有需要轉為xls格式,此時便會有一些相容性的問題出現,例如頁首頁尾的類型等等…
但是,此時會彈出「相容性檢查程式」的警告對話框視窗,一般會由我們使用者互動,按下繼續或取消,但是透過程式時,因為要做自動化,自堧不會意識到視窗的出現,所以,到底要怎麼關閉他? 或是預設不讓相容性檢查程式彈出呢?
其實很容易,只需要簡單的幾行Code就可以,讓我們來試試看!
解決辦法
首先,相容性檢查程式的圖案是如下圖:
而關閉的方式只需要在存檔前已就是SaveAs前,補上以下程式碼即可
//關閉相容性檢查的對話框
theWorkBook.CheckCompatibility = false;
就可以相容性檢查程式視窗不在出現了
如果此方法仍不行,代表你的文件可能是更早以前的版本2007之前,那麼還需要再加入另一行試試看:
theWorkBook.DoNotPromptForConvert = true
以上希望有協助到:)
參考資料
Workbook.CheckCompatibility 屬性
Workbook.DoNotPromptForConvert 屬性
希望有幫助到。
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝 =)
另外要轉載請附上出處 感謝