Программирование
Веб программирование

Работаем с приложением EXCEL

 
 

Здравствуйте, в этом уроке пойдёт речь о том как открыть и закрыть EXCEL приложение, прочитать или записать данные.

На форму добавляем два TextBox'а и один Button1 (Кнопку).

Итак начнём:

Public Class Form1
    Dim D As Object = CreateObject("Excel.Application") 'Объявляем переменную D как объект Excel.
 
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
            D.Workbooks.open("D:Лист Microsoft Excel.xls") 'Открываем книгу по указанному адресу.
            D.Visible = True 'Это свойство таблицы, если True - то она будет видна, если False - то нет.В принципе это значение можно неписать, т.к. автоматически оно будет равным False
            D.Sheets(1).Activate() 'Активируем первый лист в книге (Если необходимо)
 
            TextBox1.Text = D Sheets(1).Range("A1").Value 'Считываем в  TextBox1.Text значение ячейки ("A1").
        End Sub
 
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            D.Sheets(1).Range("A2").Value = TextBox2.Text 'Записываем в Лист1, в ячейку ("A2") текст из TextBox2.Text, если нужно какоет-то определённое значение то тогда так: = "Нужное значение".
End Sub
 
       Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 'При выходе из программы закрываем EXCEL.          
            D.ActiveWindow.Close(SaveChanges:=False) 'Если значение рано False то при закрытии приложения изминения не сохранятся, если True изменения сохранятся.
            D.Quit()
            D = Nothing
            GC.Collect()
            Application.Exit()
 End Sub
 
End Class
 

Где:

            'D - объект эксель, Sheets(1) - лист в книге, Range("A1") - ячейка

 

 


Есть вопросы? Спроси на нашем форуме!!
Дмитрий [30.08.2012 12:00]

Как организовать запись в ячейку, заранее не зная имя столбика, тоесть обращаться не по букве, а по номеру столбика???

Razor64 [01.09.2012 19:11]

А не проще в таком случае работать с ACCESS, там это всё без труда сделать можно...

Eurotriton [22.09.2012 15:29]

Razor64 а вы не напишете урок на простейшем примере при работе с ACCESS. Новая запись, сохранить, удалить. Заранее спасибо.

Игорь [20.11.2012 13:13]

Как организовать запись в ексель одного параметра допустим из Label или TextBox формы,
продолжительное время и построить временной график загрузки.

pjp07190 [15.02.2013 15:07]

Дмитрий, организовать запись в ячейку как вы спрашиваете можно, например так:

Try
With D
.SheetsInNewWorkbook = 1
.Workbooks.Add()
.Worksheets(1).Name = "Имя Листа"
.Worksheets(1).Select()
.cells(1, 2).value = "Ваш текст, например"
.........
End With
Catch ex As Exception
'MsgBox(Ок)
End Try

prokudinsk [12.06.2015 14:24]

Все время работал с VB6, тут решил изучить новенькое...
При запуске примера вылезла такая фигня:

Необработанное исключение типа "System.InvalidOperationException" в WindowsApplication2.exe

Дополнительные сведения: Ошибка при создании формы. См. Exception.InnerException. Ошибка: Не удалось создать компонент ActiveX.

что не так?



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.