Visual Basic .NET读取Excel文件报错已解决:后台存在隐藏活动生成
VB读取Excel文件访问错误问题解决
问题已解决,原因是后台存在隐藏的活动进程导致文件被占用。
我是Visual Basic新手,尝试将现有Excel工作表中的数据读取到VB程序并转换为数组,但在运行阶段遇到无法访问文件的错误。
相关代码:
Dim objApp As Excel.Application Dim objBook As Excel._Workbook Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim objSheets As Excel.Sheets Dim objSheet As Excel._Worksheet Dim range As Excel.Range '获取工作簿第一个工作表的引用 On Error GoTo ExcelNotRunning objApp = CreateObject("Excel.Application") objBook = objApp.Workbooks.Open(Filename:="C:\Users\KZM4FR\Documents\Ecosystem_Workbook_Full_Data_data.csv", ReadOnly:=True) objSheets = objBook.Worksheets objSheet = objSheets(1) ExcelNotRunning: If (Not (Err.Number = 0)) Then MessageBox.Show("找不到工作簿?") '如果找不到所需数据,无法继续自动化Excel,退出子程序 Exit Sub End If '获取数据范围 range = objSheet.Range("A1", "E5") '从范围中提取数据 Dim saRet(,) As Object saRet = range.Value '确定数组维度 Dim iRows As Long Dim iCols As Long iRows = saRet.GetUpperBound(0) iCols = saRet.GetUpperBound(1) '构建包含数组数据的测试字符串 Dim valueString As String valueString = "数组数据" + vbCrLf Dim rowCounter As Long Dim colCounter As Long For rowCounter = 1 To iRows For colCounter = 1 To iCols '将下一个值写入字符串 valueString = String.Concat(valueString, saRet(rowCounter, colCounter).ToString() + ", ") Next colCounter '换行 valueString = String.Concat(valueString, vbCrLf) Next rowCounter '显示数组数据 MessageBox.Show(valueString, "数组值") End Sub
运行时弹出错误提示无法访问目标文件,对应错误截图显示文件访问失败。
内容的提问来源于stack exchange,提问作者Puncle
相关产品推荐
相关产品推荐

