2012-11-13 42 views
0

所以我的問題有點主觀意見,但我對使用VBA與Microsoft Interop Excel Reference有點好奇。之前我學過VBA,之後我開始轉向.net以設計更強大的表單。 Interop.excel參考如何在格式化工作表方面發揮作用?它是否與在功能上使用VBA基本相同?比如格式化,比如列寬和重新排列數據?另外,如果你知道VBA(我這樣做)是不是更好地設計一個在電子表格中運行宏的.net應用程序,或者開始重新學習如何在vb.net的運行時執行它們?感謝您的建議。將vb.net應用程序連接到excel電子表格的意見

回答

0

在.net中寫入Excel格式代碼比驅動你的宏更好(意見)。首先,你不必在Excel中擁有宏,其次你有一個地方來修改你的代碼。如果你是一個VBA的人,你知道錄製宏會造成一團亂七八糟的代碼,然後你必須將它清理乾淨。

我們在Interop的辦公室裏學到了一些東西。後期綁定比引用的對象更安全,因爲它可以支持不同的已安裝版本的Office,只要您的代碼中不包含受支持程度最低的版本無法處理的任何功能。此外,總是完全限定你的對象。我的意思是使用

Dim XLApp as object = CreateObject("Excel.Application") 
XLApp.Range("A1").font.bold=True 
XLApp.Range("A1").font.size=12 

不要使用

Dim XLApp as object = CreateObject("Excel.Application") 
With XLApp.Range("A1") 
    .font.bold=True 
    .font.size=12 
End With 

有與Office互操作的已知問題是,「用」條款可能會導致要創建一個參考,不管你如何清理完成後,即使在應用程序關閉後也可以保持掛起狀態,您可以通過創建測試應用程序,修改工作表中的某些設置,保存並關閉,以便自行測試。在寫入情況下,打開「任務管理器」和Excel仍在您的進程列表中。

Hope這有助於幫助

相關問題