大佬教程收集整理的这篇文章主要介绍了vb.net – WinForms COM Exception打开Excel工作簿,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是导致错误的代码:
Dim xlWBTemp As Excel.Workbook Dim xlApp As Excel.Application '// Below resolves to "C:\Users\MacroMan\LockTemplate.xlsm" Dim tempLOCATIOn As String = Environ("USERPROFILE") & "\LockTemplate.xlsm" ... xlWBTemp = xlApp.Workbooks.Open(tempLOCATIOn) '<~~ error here.
我得到的错误是:
我已经检查过,文件肯定会被创建,Excel正在运行,此时已经成功打开了一个工作簿.我根本无法弄清楚这一点,所以任何指针都真的很受欢迎.
更新:
文件(tempLOCATIOn)确实存在于正确的位置,但是当我在应用程序外部打开它时,Excel会给出“找不到的内容”错误.该文件仍然成功打开,一旦打开就没有问题.我现在可以通过使用Workbooks.Open()方法中的CorruptLoad参数来解决此错误,但我觉得这是盲目地忽略了这个问题.
Imports Excel = Microsoft.office.Interop.Excel Public Class Form1 Private Sub Button1_Click(sender As System.Object,e As System.EventArgs) Handles Button1.Click Dim xlApp As New Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet Dim misValue As Object = System.Reflection.Missing.Value xlWorkBook = xlApp.Workbooks.Add(misvalue) xlWorkBook.Application.Visible = True xlWorkBook.Application.Screenupdating = false xlWorkSheet = xlWorkBook.Sheets("sheet1") xlWorkSheet.SaveAs("C:\\vbexcel.xLSX") Dim l As Long l = 1 Do While l < 500 'xlWorkSheet.Cells(l,1) = l xlWorkSheet.Range("A" & l).Value = l 'xlWorkSheet.Cells(l,2) = l 'xlWorkSheet.Cells(l,3) = l l = l + 1 Loop xlWorkBook.Application.Screenupdating = True xlWorkBook.refreshAll() xlWorkBook.Save() 'xlWorkBook.Close() 'xlApp.Quit() releaseObject(xlApp) releaseObject(xlWorkBook) releaseObject(xlWorkSheet) MsgBox("Done") End Sub Private Sub releaseObject(ByVal obj As Object) Try System.Runtime.Interopservices.Marshal.ReleaseComObject(obj) obj = Nothing Catch ex As Exception obj = Nothing Finally GC.Collect() End Try End Sub End Class
以上是大佬教程为你收集整理的vb.net – WinForms COM Exception打开Excel工作簿全部内容,希望文章能够帮你解决vb.net – WinForms COM Exception打开Excel工作簿所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。