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

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

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

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

С уважением, Сергей Густокашин. Тольятти, Комсофт. ICQ 75307217
...
Рейтинг: 0 / 0
Считывание таблицы из закрытого файла в массив
    #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
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Считывание таблицы из закрытого файла в массив
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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