Public Class Form1
Dim objExcel As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
objExcel = GetObject("E:\Proba4\WindowsApplication1\WindowsApplication1\Книга1.xls")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
objExcel.Visible = True
End Sub
End Class
Открытие внедрённого файла через GetObject
VB.NET. Внедрил в проект файл - таблицу Excel c данными "...Книга1.xls". Как обратится к ней через GetObject. Бьюсь уже несколько дней - ничего не получается. Буду очень признателен за помощь.
Приведи пример кода. Я с начала подумал, что можно использовать таблицы Excel как источники данных, если внедрить их в проект - а не нифига. Такая фишка только с *.mdb файлами прокатывает. В случае с Excel нужно работать только в runtime. В MSDN нарыл пример, лежит в аттаче.
[QUOTE=3A3-968M]Приведи пример кода. Я с начала подумал, что можно использовать таблицы Excel как источники данных, если внедрить их в проект - а не нифига. Такая фишка только с *.mdb файлами прокатывает. В случае с Excel нужно работать только в runtime. В MSDN нарыл пример, лежит в аттаче.[/QUOTE]
Код:
this.Application.Workbooks.Open(@"C:\YourPath\YourWorkbook.xls, ...);
(созданный через "New") файл. Мне же нужно открыть существующий файл не создаая нового.
(созданный через "New") файл. Мне же нужно открыть существующий файл не создаая нового.[/quote]
Я тебя непонял. Какой New? Я же код привёл:
Код:
Me.Application.Workbooks.Open "D:\Книга 1.xls"
Происходит открытие уже существующего файла.
А данные берём так:
Код:
Me.Application.Workbooks.Open "D:\Книга 1.xls"
Dim cellVal As String
cellVal = Me.Application.Workbooks("Книга 1.xls").Sheets("Лист1").Cells(1, 1) 'теперь здесь значение ячейки
Dim cellVal As String
cellVal = Me.Application.Workbooks("Книга 1.xls").Sheets("Лист1").Cells(1, 1) 'теперь здесь значение ячейки
Excel следующим образом: Project,Add Existing Item...,Files of Type: All Files,Книга1: Add.
По Вашему коду, ЗАЗ, VB выдаёт, что она не Me.
>>>добавляем к проекту ссылку на Office.dll и Microsoft.Office.Tools.Excel
Код:
[SIZE=2][SIZE=2][COLOR=#0000ff]option[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]strict[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]off
imports[/COLOR][/SIZE][SIZE=2] System
[/SIZE][SIZE=2][COLOR=#0000ff]imports[/COLOR][/SIZE][SIZE=2] System.Reflection [/SIZE][SIZE=2][COLOR=#008000]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]imports[/COLOR][/SIZE][SIZE=2] System.Runtime.InteropServices [/SIZE][SIZE=2][COLOR=#008000]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Imports[/COLOR][/SIZE][SIZE=2] Microsoft.Office.Interop.Excel[/SIZE]
[SIZE=2]........
[/SIZE][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] app [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Application[/FONT]
[FONT=Courier New]app = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Application()[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] myBook [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Workbook[/FONT]
[FONT=Courier New]myBook = app.Workbooks.Open([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Книга1.xls"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#008000]'Открываем книгу
[/COLOR][/SIZE][/FONT][SIZE=2][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] mySheet [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Worksheet[/FONT]
[FONT=Courier New]mySheet = myBook.Sheets.Item([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Лист1"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#008000]'выбираем лист
[/COLOR][/SIZE][/FONT][SIZE=2][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] myCell [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]Object
[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]myCell = mySheet.Range([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"A1"[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000]"B1"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#008000]'диапазон теперь
[/COLOR][/SIZE][/FONT]
imports[/COLOR][/SIZE][SIZE=2] System
[/SIZE][SIZE=2][COLOR=#0000ff]imports[/COLOR][/SIZE][SIZE=2] System.Reflection [/SIZE][SIZE=2][COLOR=#008000]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]imports[/COLOR][/SIZE][SIZE=2] System.Runtime.InteropServices [/SIZE][SIZE=2][COLOR=#008000]
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Imports[/COLOR][/SIZE][SIZE=2] Microsoft.Office.Interop.Excel[/SIZE]
[SIZE=2]........
[/SIZE][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff][/COLOR][/SIZE][/FONT][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] app [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Application[/FONT]
[FONT=Courier New]app = [/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Application()[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] myBook [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Workbook[/FONT]
[FONT=Courier New]myBook = app.Workbooks.Open([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Книга1.xls"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#008000]'Открываем книгу
[/COLOR][/SIZE][/FONT][SIZE=2][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] mySheet [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] Worksheet[/FONT]
[FONT=Courier New]mySheet = myBook.Sheets.Item([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"Лист1"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#008000]'выбираем лист
[/COLOR][/SIZE][/FONT][SIZE=2][/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] myCell [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]Object
[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]myCell = mySheet.Range([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"A1"[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000]"B1"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#008000]'диапазон теперь
[/COLOR][/SIZE][/FONT]
Ещё один вопрос, ЗАЗ, и я отвяжусь. Что такое - относитнльный путь?
Главное, что бы ты разобрался:) Пример относительного пути:
\MyFolder\MyFile.txt
Пример абсолютного пути:
C:\Documents and Settings\MyFolder\MyFile.txt
Если ты из программы используешь относительный путь, то ты можешь пользоватся файлами, входящими в состав твоей проги без привязки к какому то конкретному пути. Например, если в одной папке с твоим EXE файлом лежит файл Book.xls, то из программы нужно обращаться к нему так:
Boo.xls
А не по абсолютному пути:
C:\BlaBla\Book.xls
Ведь пользователь может куда угодно поставить твою прогу.
Благодарю за помощь