Страница: 1 |
Как пример посмотри кусок кода. EXCEL открывается в фоновом режиме (не отображается на экране). Option Explicit Dim sDate_Now As String, sTime_Now As String On Error Resume Next xl.Close Вместо позднего связывания можно использовать раннее (Project -> Referencies -> MS Excel Components). Но, я думаю, ошибка будет той же и связана она с тем, что Excel уже запускался в данном сеансе и файл захватывался. Я бы посоветовал в Task List убить все Excel'ы или просто перезагрузиться. Дык, убивал я эти файлы ЭКСЭЛЯ и не раз. Короче такая вещь нужно связаться с двумя файлами ЭКСЭЛЯ и сравнивать ячейки из одного с другим. Так вот после минут 3-5 поиска он выдаёт эту ошибку и уже ничего не спасёт(CTRL+PAUSEBREAK и всё такое) как будто завис комп. НО если убить эти два файла прога работает дальше....но соответственно безрезультатно ПРИЧЁМ выдает ошибку ПРИМЕРНО в одном и том же месте. Если нужно содержимое ограниченного числа колонок из файлов Excel, я бы сначала скопировал его в два текстовых файла или в две таблицы на Access, закрыл бы объект Excel, а потом бы работал с сохраненными данными. Очень уж муторно программировать работу с range'ами. Страница: 1 |
Вопрос: Как связаться с EXCEL ???
Добавлено: 11.11.02 10:02
Автор вопроса:
SerJEANt | ICQ: 3132838
Как в VB осуществить связь с файлом Excel для последующей с ним работы(поиск конкретных ячеек). Причём вовсе не обязательно даже скорее всего лучше чтобы файл Excel отображался на экране.....заранее спасибо всем кто поможет с этим вопросом.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа: SerJEANt
ICQ: 3132838
Вопросов: 10
Ответов: 38
Профиль | | #1
Добавлено: 11.11.02 10:09
ПАРДОН вношу маненькие изменения в вопрос ошибся: Причём вовсе не обязательно, даже скорее всего лучше, чтобы файл Excel ! НЕ ! отображался на экране.
Номер ответа: 2
Автор ответа: Petrovich
Вопросов: 9
Ответов: 84
Профиль | | #2
Добавлено: 11.11.02 12:06
Private Sub Command1_Click()
Dim ap As Object
Dim xl As Object
Dim ws As Object
Dim cUSD_Buy As Currency, cUSD_Sell As Currency
Set ap = CreateObject("Excel.Application")
Set xl = ap.Workbooks.Open("P:\RS_BANK\REPORTS\Currency.xls")
Set ws = xl.Worksheets("CurRate")
sDate_Now = ws.Range("Date_Now").Value
sTime_Now = ws.Range("Time_Now").Value
cUSD_Buy = ws.Range("USD_Buy").Value
cUSD_Sell = ws.Range("USD_Sell").Value
Label1.Caption = cUSD_Buy
Label2.Caption = cUSD_Sell
Set ws = Nothing
Set xl = Nothing
Set ap = Nothing
End Sub
Номер ответа: 3
Автор ответа: SerJEANt
ICQ: 3132838
Вопросов: 10
Ответов: 38
Профиль | | #3
Добавлено: 11.11.02 13:45
Люди добрые и не добрые, а есть ли другой способ кроме CreateObject("Excel.Application") ??? Этот способ я знал, а мне нужен какой нибудь другой
не знаю может я чего намудрил в коде моей программы, но при длительном поиске данных ячеек вылетает страшная ошибка под названием: Component Request Pending - (я такой раньше не видал) вот с таким вот текстом: "This action cannot be completed because the other application is busy...." З.Ы. ЕСЛИ Я НЕ РАЗБЕРУСЬ С ЭТОЙ ПРОБЛЕМОЙ данный вопрос будет в последующем выставлен в качестве отдельного вопроса на этом форуме.
Номер ответа: 4
Автор ответа: Alba
Вопросов: 6
Ответов: 7
Профиль | | #4
Добавлено: 11.11.02 13:50
Номер ответа: 5
Автор ответа: SerJEANt
ICQ: 3132838
Вопросов: 10
Ответов: 38
Профиль | | #5
Добавлено: 11.11.02 14:09
Номер ответа: 6
Автор ответа: Alba
Вопросов: 6
Ответов: 7
Профиль | | #6
Добавлено: 11.11.02 14:20