Ответы на все вопросы

FAQ / Программирование / Visual Basic

Как из Visual Basic открыть книгу Excel, добавить таблицу и заполнить её данными?

Вопрос:

 Как мне из моей программы открыть Excel, добавить в него новую таблицу, а в нее уже добавить некоторые данные (числа, текст).
 Я пока вишу только на добавлении новой таблицы - т.е. Excel я открываю, но на этом все, дальше не могу. Вот мой исходник:

Option Explicit

Private exapp As Excel.Application

Private Sub Комманда1_Click()
   Set exapp = New Excel.Application
' WordApp.Visible = True
   exapp.Visible = True
   'Set exapp = Nothing
End Sub

 Дальше не знаю как...

Ответ:

В принципе начало правильное, насколько я понимаю проблема в незнании объектов Excel VBA, но это как раз дело поправимое :)

Option Explicit

Private exapp As Excel.Application

Private Sub Комманда1_Click()
    Dim wBook As Excel.Workbook ' чтобы обращаться к созданной таблице
' здесь я бы сделал не так:
' Set exapp = New Excel.Application
' а добавил бы возможность использовать запущенное приложение
    Dim StartedNew As Boolean ' поставим в True, если сами запустим Excel
    StartedNew = False
    On Error Resume Next
    Set exapp = GetObject(, "Excel.Application")
    If Err.Number <> 0 Then ' если нет запущенного Excel'я
        Set exapp = CreateObject("Excel.Application")
        StartedNew = True
    End If
    On Error GoTo 0
    exapp.Visible = True
    ' создаем новую таблицу
    Set wBook = exapp.Workbooks.Add
    ' издеваемся над созанной таблицей :)
    wBook.Sheets(1).Name = "MyResult"
    wBook.Sheets(1).Range("A1").Value = "это ячейка A1"
    wBook.Sheets("MyResult").Cell(4, 2).Value = InputBox("Впиши что хочешь", "текст для ячейки B4", "filled from VB")
    ' сохраняем таблицу
    wBook.Save "c:\my_table.xls"
    wBook.Close
    Set wBook = Nothing
    ' если Excel запускали мы, то надо бы его закрыть
    If StartedNew Then
        exapp.Quit
    End If
    Set exapp = Nothing
End Sub

Kirill

Версия для печати Найти похожие статьи
Поиск по сайту

Архив

ВсПнВтСрЧтПтСб
1234567
891011121314
15161718192021
22232425262728
293012345
6789101112
13141516171819
20212223242526
272829303112



Мы рекомендуем