【问题标题】:Read-Only error: Convert all sheets of an xls workbook into separate CSV files只读错误:将 xls 工作簿的所有工作表转换为单独的 CSV 文件
【发布时间】:2017-07-07 08:53:07
【问题描述】:

我必须将包含多张工作表的 xls 工作簿转换为 CSV 格式。 我使用的编程语言是 VBScript,到目前为止,下面的代码给出了“无法访问只读文档”错误。

Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
'xls is the path to the xls file
WScript.Echo xls
Set oBook = oExcel.Workbooks.Open(xls)

Dim Worksheet
For Each Worksheet in oBook.Sheets
    If oExcel.Application.WorksheetFunction.CountA(Worksheet.Cells) <> 0 Then
        Worksheet.SaveAs strPath & "\" & Worksheet.Name & ".csv", 6
    End If
Next

oBook.Close False
oExcel.Quit
WScript.Echo "Done"

【问题讨论】:

  • 我试图在 stackoverflow 上找到类似的问题,但它们都略有不同,无法解决这个问题。感谢您的帮助!
  • 附加信息:工作簿为 144MB,不是只读的。
  • 你从哪里得到错误?哪一行??
  • 第11行出现错误

标签: excel csv vbscript xls


【解决方案1】:

strPath 从未在您的代码中设置。您的评论说 xls 是工作簿的路径。它需要是完整的文件规范才能打开工作簿。

Worksheet 是 Excel.Application 中的一个类。使用

Dim oWorksheet 
For Each oWorksheet in oBook.Sheets
    If oExcel.Application.WorksheetFunction.CountA(oWorksheet.Cells) <> 0 Then
        oWorksheet.SaveAs oBook.Path & "\" & oWorksheet.Name & ".csv", 6
    End If
Next

【讨论】:

    猜你喜欢
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    相关资源
    最近更新 更多