VB中打开excel为只读,不知为何
在VB中打开了了一个excel文件,最后关闭的时候无法源文件保存,提示为只读文件。不知为什么DimxlAppAsExcel.ApplicationDimxlBookAsE...
在VB中打开了了一个excel文件,最后关闭的时候无法源文件保存,提示为只读文件。不知为什么
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Open("D:\co2file1.xls", ReadOnly:=False)
Set xlsheet = xlBook.Worksheets(1)
xlsheet.Activate
xlsheet.Cells(1, 1) = "日期"
xlsheet.Cells(1, 2) = "时间"
xlsheet.Cells(1, 3) = "CO2值"
xlsheet.Cells(1, 4) = "温度"
xlBook.RunAutoMacros (xlAutoOpen)
xlApp.ActiveWorkbook.SaveAs
xlBook.RunAutoMacros (xlAutoClose)
xlBook.Close (True)
xlApp.Quit
Set xlApp = Nothing
Set xlBook = Nothing
end
都已经强制不只读,不知道为什么关闭的时候还提示不能访问只读文件。请高手指点 展开
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Open("D:\co2file1.xls", ReadOnly:=False)
Set xlsheet = xlBook.Worksheets(1)
xlsheet.Activate
xlsheet.Cells(1, 1) = "日期"
xlsheet.Cells(1, 2) = "时间"
xlsheet.Cells(1, 3) = "CO2值"
xlsheet.Cells(1, 4) = "温度"
xlBook.RunAutoMacros (xlAutoOpen)
xlApp.ActiveWorkbook.SaveAs
xlBook.RunAutoMacros (xlAutoClose)
xlBook.Close (True)
xlApp.Quit
Set xlApp = Nothing
Set xlBook = Nothing
end
都已经强制不只读,不知道为什么关闭的时候还提示不能访问只读文件。请高手指点 展开
4个回答
展开全部
重复性打开EXCEL程序。
VB调用完EXCEL程序后,不仅要关闭EXCEL文件,还要关闭EXCEL程序。
VB6.0 EXCEL文件扩展名为xls的情况。
Dim MyXL As Object '定义存放引用对象的变量。
Set MyXL = CreateObject("excel.application")
Set mysheet = Nothing
Set mybook = Nothing
Set mybook = MyXL.Workbooks.Open(“D:\123.XLS”)
Set mysheet = mybook.Worksheets("sheet1")
mysheet.Range("a1") =Textbox1.text
mybook.SaveAs d:\abc.xls
mybook.Close
MyXL.Quit
当然也有是程序过程中出现问题,被强制关闭程序时,后台并没有关闭EXCEL程序。因此,当出现此情况时。关闭当前只读后,打开任务管理器,查看进程,会发现一个EXCEL程序处于运行状态,强制关闭后。再用VB调用就不会出现此情况。
VB调用完EXCEL程序后,不仅要关闭EXCEL文件,还要关闭EXCEL程序。
VB6.0 EXCEL文件扩展名为xls的情况。
Dim MyXL As Object '定义存放引用对象的变量。
Set MyXL = CreateObject("excel.application")
Set mysheet = Nothing
Set mybook = Nothing
Set mybook = MyXL.Workbooks.Open(“D:\123.XLS”)
Set mysheet = mybook.Worksheets("sheet1")
mysheet.Range("a1") =Textbox1.text
mybook.SaveAs d:\abc.xls
mybook.Close
MyXL.Quit
当然也有是程序过程中出现问题,被强制关闭程序时,后台并没有关闭EXCEL程序。因此,当出现此情况时。关闭当前只读后,打开任务管理器,查看进程,会发现一个EXCEL程序处于运行状态,强制关闭后。再用VB调用就不会出现此情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是 co2file1.xls 设为只读了
右击 看看属性
还有
xlApp.ActiveWorkbook.SaveAs
改为
xlApp.ActiveWorkbook.Save
试试
右击 看看属性
还有
xlApp.ActiveWorkbook.SaveAs
改为
xlApp.ActiveWorkbook.Save
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
xlApp.ActiveWorkbook.SaveAs 改成 save即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Set xlsheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |