2011-12-01 241 views
3

我有一個在VB 6.0和VBA中使用最新的Office 32位版本開發的應用程序。但由於此應用程序是32位的,因此它不能在安裝了64位Office版本的系統上運行。我必須採用將此應用程序移植到64位的最佳策略是什麼。我們有權使用VB.NET,並且儘可能少地(從VB/VBA到.NET 64位)修改代碼。請建議我可以使用的最佳選項,以便我可以利用此移植的所有最佳做法。如何使32位VB6應用程序適應64位Office?

+1

如果你有32位二進制文​​件(EXE或DLL),那麼你就完蛋了。如果你有所有的源代碼,你需要將它全部移植到VB.Net中,將它編譯爲一個獨立於機器的.Net二進制文件。 –

+0

也有關:http://stackoverflow.com/questions/3945799/using-32bit-com-addin-under-ms-office-64-bit –

回答

3

根據代碼是什麼樣子,一個或兩個的這些可能是一個好辦法:

一)它移植到VB.NET,或乾脆另一種語言。 b)將它保存在VB6中,但用包裝器調用替換它與Office交談的每個地方。這個包裝調用與VB.NET應用程序交談,後者又與Office交談。

方法b的結果是它可以保持舊VB6程序中的所有業務邏輯不變。這是否合適取決於程序的外觀,程序員的經驗等等。舊的VB6程序和新的VB.NET可以通過例如COM或XML-RPC相互交談。

+0

感謝所有評論。這非常有幫助。 – Siva

4

@ Prof.Falken的答案很好,移植到VB.NET可能是一個好主意,但這並不能保證您輕鬆獲得64位版本的應用程序。如果您的.NET端口將使用32位ActiveX組件,而您沒有64位替換組件,那麼這將無濟於事。這裏有一些話題列出來考慮:

http://office.microsoft.com/en-us/word-help/choose-the-32-bit-or-64-bit-version-of-microsoft-office-HA010369476.aspx

在我們的工作環境,系統管理決定不安裝64位Office上的任何新的64位Windows的機器,因爲這裏正在使用太多的應用程序(也來自第三方供應商),否則會遇到麻煩。目前我們從64位Office版本中看不到現在對我們有什麼好處。

在這裏,我發現了另一個鏈接,可能對你有意思:

http://www.pcpro.co.uk/news/enterprise/356173/microsoft-warns-users-off-64-bit-office-2010

+0

啊,好的數據不僅僅是一般的想法。 +1 –

+0

感謝所有評論。這非常有幫助 – Siva

相關問題