3

このコードを試して、Excelシートを作成しました。

Set ExcelObject = CreateObject("Excel.Application")

ExcelObject.visible = True
ExcelObject.WorkBooks.Add       
ExcelObject.Sheets(1).Cells(1,1).value = "My first 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"

しかし、それは機能していません。助けてください!

4

2 に答える 2

2

コードにいくつかのエラーがあります:

  1. あなたが逃しましたNext x

  2. ステートメントxを使用するため、インクリメントする必要はありません。あなたのためにそれをします。For..NextNext 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
于 2013-02-15T07:40:50.983 に答える
0

コレクションの使用を検討することをお勧めします。使用している上記の例ではExcelObject(x).visible = True ---ExcelObjects作成したときに実際にはまだ5を作成していません。

これを達成する方法はいくつかあります。しかし、ワークブックを追加するときに持っているものを再生します。ブックのインスタンスをブックコレクションに作成しています。したがって、それを次のように参照するのではなくExcelObject(x) =>アイテムからワークブックを参照する必要があります

ExcelObject.WorkBooks.item(x)

于 2013-02-15T07:42:22.217 に答える