Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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

Как пример посмотри кусок кода. EXCEL открывается в фоновом режиме (не отображается на экране).

Option Explicit
Private Sub Command1_Click()
Dim ap As Object
Dim xl As Object
Dim ws As Object

Dim sDate_Now As String, sTime_Now As String
Dim cUSD_Buy As Currency, cUSD_Sell As Currency

On Error Resume Next
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

xl.Close
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

Вместо позднего связывания можно использовать раннее (Project -> Referencies -> MS Excel Components). Но, я думаю, ошибка будет той же и связана она с тем, что Excel уже запускался в данном сеансе и файл захватывался. Я бы посоветовал в Task List убить все Excel'ы или просто перезагрузиться.

Ответить

Номер ответа: 5
Автор ответа:
 SerJEANt



ICQ: 3132838 

Вопросов: 10
Ответов: 38
 Профиль | Цитата | #5 Добавлено: 11.11.02 14:09

Дык, убивал я эти файлы ЭКСЭЛЯ и не раз. Короче такая вещь нужно связаться с двумя файлами ЭКСЭЛЯ и сравнивать ячейки из одного с другим. Так вот после минут 3-5 поиска он выдаёт эту ошибку и уже ничего не спасёт(CTRL+PAUSEBREAK и всё такое) как будто завис комп. НО если убить эти два файла прога работает дальше....но соответственно безрезультатно

ПРИЧЁМ выдает ошибку ПРИМЕРНО в одном и том же месте. 

Ответить

Номер ответа: 6
Автор ответа:
 Alba



Вопросов: 6
Ответов: 7
 Профиль | Цитата | #6 Добавлено: 11.11.02 14:20

Если нужно содержимое ограниченного числа колонок из файлов Excel, я бы сначала скопировал его в два текстовых файла или в две таблицы на Access, закрыл бы объект Excel, а потом бы работал с сохраненными данными. Очень уж муторно программировать работу с range'ами.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам