Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Считывание таблицы из закрытого файла в массив / 3 сообщений из 3, страница 1 из 1
04.08.2005, 20:06:09
    #33202683
-GL-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считывание таблицы из закрытого файла в массив
Пробовал поочередно читать все ячейки таким образом:
iXYZ = "'" & iPath & "[" & iFile & "]" & iList & "'!" & Range("A1").Address(, , xlR1C1)
iData = ExecuteExcel4Macro(iXYZ)

НО:
1) делалось это неправильно (в результате каждого считывания получал ######)
2) хотя таблица и не большая (где-то 20х20), но времени занимало прилично

Что можете посоветовать?
...
Рейтинг: 0 / 0
05.08.2005, 09:58:29
    #33203199
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считывание таблицы из закрытого файла в массив
Добрый день!
Можно воспользоваться недокументированной возможностью вставки листов не открывая книги, поработать с ними и удалить. Вдруг быстрее получится:)

Sub test114()
Sheets.Add after:=ActiveSheet, Type:="C:\aa\Книга1.xls"
End Sub

С уважением, Сергей Густокашин. Тольятти, Комсофт. ICQ 75307217
...
Рейтинг: 0 / 0
05.08.2005, 10:04:40
    #33203221
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Считывание таблицы из закрытого файла в массив
Public Function Getvalue(path, File, sheet, ref)
Dim Arg As String
Arg = "'" & path & "[" & File & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1)
Getvalue = ExecuteExcel4Macro(Arg)
End Function

проверено работает
а вот еще вариант

Private Sub ExcelEarlyBinding()

Dim xlAp As New Excel.Application
Dim xlWb As Excel.Workbook
Dim NumRow As Currency
Dim NumCol As Integer

Set xlWb = xlAp.Workbooks.Open(iPath & iFile)
Set rgn = xlWb.Sheets(ilist).Cells(1, 1).CurrentRegion
NumRow = rgn.Rows.Count
NumCol = rgn.Columns.Count

For r = 1 To NumRow
For C = 1 To NumCol
iData = rgn.Cells(r, C).Value
MsgBox idate
Next C
Next r

xlWb.Close False
xlAp.Quit

Set xlWb = Nothing
Set xlAp = Nothing

End Sub

в этом варианте можно и записывать в фаил, только тогда надо закрывать с сохранением
xlWb.Close true
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Считывание таблицы из закрытого файла в массив / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]