簡體   English   中英

拆分> 0時Excel Interop凍結窗格失敗

[英]Excel Interop freeze panes fails when splitrow is >0

我正在嘗試凍結在vb.net項目中創建的excel工作表中的窗格。 我創建了以下測試代碼:

Dim xlApp = New Microsoft.Office.Interop.Excel.Application
Dim xlBook = xlApp.Workbooks.Add
Dim xlSheet = xlBook.Worksheets(1)
Dim xlWindow = xlApp.Windows(1)

With xlApp.ActiveWindow
  .SplitColumn = 1
  .SplitRow = 0
End With

xlApp.ActiveWindow.FreezePanes = True

問題是,這樣做的效果很好,但是如果我將.SplitRow更改為大於0的任何值,則在凍結窗格行上會出現錯誤-

mscorlib.dll中發生了'System.Runtime.InteropServices.COMException'類型的未處理異常

附加信息:無法設置Window類的FreezePanes屬性

我也嘗試用單行完全替換with塊:

xlSheet.Cells(6, 2).Select()

這不會引發錯誤,但是只會凍結第6列。

我要補充一點,這是我每年使用一次的較舊程序,去年運行良好,但此后我已升級到Office 365(64位版本)。 我仍在使用Office 15的互操作程序集,但無法找到更新的版本。

由於沒有人能夠回答這個問題,而且我找到了一種解決方法,因此我想我會為遇到此問題的其他人發布答案。 我不接受此答案,因為應該使用微軟自己的dll解決方案。

我找到了一個免費的dll文件,它由e-iceblue稱為spire office,可以在不安裝Office的情況下操作excel文件(這使它與版本無關)。 免費版有一些限制,但似乎僅適用於xls文件轉換任務。 這樣可以拆分窗格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM