我尝试使用此代码创建Excel工作表。
Set ExcelObject = CreateObject("Excel.Application")
ExcelObject.visible = True
ExcelObject.WorkBooks.Add
ExcelObject.Sheets(1).Cells(1,1).value = "My first excel"
但我希望生成多个excel所以我尝试了这段代码 -
Set ExcelObject = CreateObject("Excel.Application")
For x= 1 to 5
ExcelObject(x).visible = True
ExcelObject(x).WorkBooks.Add 'Adds a workbook to an excel object
x=x+1
ExcelObject.Sheets(1).Cells(1,1).value = "My first excel"
但它不起作用。请帮助!
答案 0 :(得分:2)
您的代码有一些错误:
您错过了Next x
您使用x
语句后不必增加For..Next
。 Next x
会为您做到这一点。
工作代码:
VB.NET
:
Dim ExcelObject() As Object
ExcelObject = New Object(5) {}
For x = 1 To 5
ExcelObject(x) = CreateObject("Excel.Application")
ExcelObject(x).visible = True
ExcelObject(x).WorkBooks.Add() 'Adds a workbook to an excel object
ExcelObject(x).Sheets(1).Cells(1, 1).value = "My first excel"
Next x
VBScript
:
Dim ExcelObject(5)
For x = 1 To 5
Set ExcelObject(x) = CreateObject("Excel.Application")
ExcelObject(x).visible = True
ExcelObject(x).WorkBooks.Add() 'Adds a workbook to an excel object
ExcelObject(x).Sheets(1).Cells(1, 1).value = "My first excel"
Next
答案 1 :(得分:0)
可能想要研究使用集合。在您使用ExcelObject(x).visible = True
的上述示例中---您在创建时尚未创建5 ExcelObjects
。
有几种方法可以实现这一目标。但是在添加工作簿时播放你所拥有的内容。您正在将工作簿实例创建到工作簿集合中。因此,请将其引用为ExcelObject(x)
=>您需要从项目中引用工作簿
ExcelObject.WorkBooks.item(x)