我可以使用訪問2007 VBA引用而不受懲罰(特別是,就基本語言和舊的COM接口而言)爲Access 2003開發基於VBA的解決方案嗎?Office 2003和2007之間的VBA版本有區別嗎?
還是有一些新的/修改後的語法添加到我需要知道的語言?
Office 2007中的對象模型是否已大幅增強?
其他警告?
謝謝。
我可以使用訪問2007 VBA引用而不受懲罰(特別是,就基本語言和舊的COM接口而言)爲Access 2003開發基於VBA的解決方案嗎?Office 2003和2007之間的VBA版本有區別嗎?
還是有一些新的/修改後的語法添加到我需要知道的語言?
Office 2007中的對象模型是否已大幅增強?
其他警告?
謝謝。
VBA語言本身並未在最新版本的Microsoft Office之間進行更改(並且未來可能也不會改變)。 Access2000以後版本的VBA是VBA6。
然而,Office應用程序的對象模型略有修改。微軟通常只通過附加的方法和屬性來擴展OM。至於訪問而言,我不能給你任何細節,但你會發現這裏修改的列表:
在一般來說,針對某個版本的Office開發的VBA解決方案將使用更新的版本。雖然魔鬼在於細節。由於錯誤修復和新功能,應用程序可能會表現出輕微不同於舊版本。找出所有東西是否仍然有效的唯一方法是徹底的測試。
如果您將accdb/mdb編譯爲accde/mde,那麼您需要確保將它們編譯爲與主應用程序相同的版本。 Access 2003中使用Access 2003 MDE的時候遇到了一些麻煩(反之亦然)。
有一些新的屬性,方法和對象在Excel 2007
然而,大多數程序在Excel 2003名工作以及在Excel 2007
很少有東西從VBA Excel 2003的不工作在Excel 2007.
我發現了4個問題。
「Chart.Add」給自動化錯誤在Excel 2007中,當有超過1選擇
錯誤不要自行復位,有必要細胞命令之前使用Err.clear可能 發佈一個錯誤。
On Error Resume Next
Intruction_That_Could_be_buggy_1
if Err.Number <>0 Then
Err.Clear ' <<<<==== This command is necessary
Intruction_That_Could_be_buggy_2
if Err.Number <>0 Then
....
範圍(...)。粘貼(xlFormulas)現在停止時存在可能的名稱衝突, 有必要使用
Application.displayalerts = False
Range(....).Paste(xlFormulas)
Application.displayalerts = True
像Alt + N鍵幾個快捷鍵在Excel 2007年。 Application.Onkey( 「%N」,「ROTINA 「)在這種情況下不起作用。 現在,ALT + Letra風格中有很多功能區快捷鍵。 我找不到任何方法來抑制此行爲。 應該使用其他熱鍵代替。
恩,可愛的答案是,我沒有看到這個問題與Excel有什麼關係。 – 2010-11-08 22:21:49
+1謝謝:)這些鏈接確實很有用。 – 2009-06-20 13:35:36