生成多个excel

时间:2013-02-15 07:30:16

标签: excel vbscript

我尝试使用此代码创建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"

但它不起作用。请帮助!

2 个答案:

答案 0 :(得分:2)

您的代码有一些错误:

  1. 您错过了Next x

  2. 您使用x语句后不必增加For..NextNext x会为您做到这一点。

  3. 工作代码:

    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)