Board logo

標題: [發問] Excel VBA版本不同有解嗎? [打印本頁]

作者: PKKO    時間: 2014-12-24 13:33     標題: Excel VBA版本不同有解嗎?

我一開始使用2007版都沒問題,直到使用者A提供了一個2013版的EXCEL
導致我的2007版無法開啟(不知何種原因)

我也換了2013的正版軟體
但卻發生類似的問題
我寫的CODE,在低於2013版的時候會出現無法使用的情況

我目前爬文的結果
大部分都是用較為低階的版本來撰寫VBA
因為往下可以兼容

但是低階的版本卻開不起高階的EXCEL版本

想問一下高階的版本是否有可以在VBA撰寫的時候,事先選擇撰寫的VBA CODE的版本
以避免造成不同版的人無法使用

還是各位大大有更好的建議?
作者: GBKEE    時間: 2014-12-24 16:23

回復 1# PKKO


    http://forum.twbts.com/viewthread.php?tid=39&highlight=Application.Version
作者: PKKO    時間: 2014-12-24 20:18

回復 2# GBKEE


    感謝超版大大回覆,但我在使用2013撰寫CODE的時候
假設我已經知道對方是2003版
那我要如何撰寫出2003可使用的CODE?
或是我要如何知道哪些CODE是不支援2003的?
作者: GBKEE    時間: 2014-12-24 21:08

回復 3# PKKO

在2003版的VBA 說明中可以看到的函數,屬性,方法 ,就是2003可使用的CODE?
反之說明中看不到的函數,屬性,方法不支援2003的?
作者: PKKO    時間: 2014-12-24 22:37

回復 4# GBKEE

感謝超版大大的回覆,但按照您的邏輯,我是使用2013版的當然所有的CODE都看的到說明,那要如何知道哪些是2003不適用的呢?
作者: Hsieh    時間: 2014-12-24 23:05

回復 5# PKKO

EXCEL的VBA物件並非是高階相容低階
有些是低階版本有的物件、屬性,到了新版本卻被刪除
有些則是新版本才新增,並無一定原則
可於說明內得知是否向下相容
[attach]19937[/attach]
以此圖為例,Application.AlwaysUseClearType 屬性是2007版以後才新增的屬性
2003版中則無法使用該屬性
作者: PKKO    時間: 2014-12-25 18:04

回復 6# Hsieh


    感謝超版H大大的回復,非常之清楚,感恩!
但題外話一問,為何我使用2007時直接按F1都可馬上顯示程式碼說明
但使用2013時,案F1都會連結到網站,並且是英文說明
我個人猜想,應該是因為目前2013並沒有中文說明的關係吧!?
作者: PKKO    時間: 2014-12-26 10:16

回復 6# Hsieh

感謝超版大大,我換成2010版,真的超讚的,F1就可以有中文說明,而且不須連到網路,快又準,加上您提供的方法,幫助甚大!
感恩阿~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)