Экспорт с VB в Excel и обновление файла - PullRequest
1 голос
/ 02 июня 2010

Это код, который мне нужен для экспорта данных в Excel.

Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object

oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Add

oSheet = oBook.Worksheets(1)
oSheet.Range("A1").Value = "ID"
oSheet.Range("B1").Value = " Nome"
oSheet.Range("A1:B1").Font.Bold = True
oSheet.Range("A2").Value = CStr(Request("ID"))
oSheet.Range("B2").Value = "John"

    oBook.SaveAs("C:\Book1.xlsx")
    oExcel.Quit()

Я могу создать и сохранить файл Excel, но не могу обновить его содержимое. Как я могу это сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 июня 2010

Я думаю, что вы хотите:

 oBook = oExcel.Workbooks.Open ("C:\Book1.xlsx")

Когда вы выбираете Добавить, вы создаете новую книгу.

Если вы уверены, что пропусков нет, может подойти что-то подобное:

''Last cell in column A, or first gap
oSheet.Range("a1").End(xlDown).Select
''A+1 row
oSheet.ActiveCell.Offset(1) = "a"
''A + 1 row + 1 col
oSheet.ActiveCell.Offset(1, 1) = "b"
''A + 1 row + 2 col
oSheet.ActiveCell.Offset(1, 2) = "c"

В противном случае вам может потребоваться http://support.microsoft.com/kb/142526 для определения последней ячейки.

0 голосов
/ 02 июня 2010

Вы пытаетесь установить Range в значение, я думаю, что вам либо нужно установить Range в массив, который может содержать значения (значения), либо вам нужно установить один Cell в одно значение.

Эта ссылка показывает, как это сделать:

http://support.microsoft.com/kb/301982

...