читать содержимое документа не открывая
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



читать содержимое документа не открывая Expand / Collapse
Автор
Сообщение
09.08.2005 17:05
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 23.06.2006 16:48
Сообщ.: 16, Visits: 154
Задача такая, около 60ти файлов EXCEL в сети нужно прочитать и нужную инфу забрать.

запись типа Workbooks("\\..\..\document.xls").Worksheets("sheet1").Cells(i,j).Value не работает. Вообще запись Workbooks("\\..\..\document.xls") дает ошибку.

Нашел пока что только один выход :-\ гиперссылки. типа в открытый файл в ячейку пихать
a = "='" + path + "[" + document.xls + "]sheet1'!C8"
Cells(i,j).Value= a - далее смотрю, что показывает в Cells(i,j) и дальше...
И так каждый документ, каждую клеточку через открытый документ проверять.
Есть что-то удобнее ?
Сообщ. #877834
09.08.2005 18:10


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.01.2007 17:15
Сообщ.: 1 089, Visits: 11 975
Могу посоветовать 2 варианта
1. если нужно просто перебрать файлы... выложу макрос ниже.
2. Если ИНфа одинаковая то лучше воспользоваться ADO/ Но тогда нужны вводные задачи.
Но в любом случае нужен буде макрос перебора файлов. Если они в одном месте это хорошо.. если нет то нужно будет собрать ссылки в одно место(Range, массивб переменная и т.д.)

Private Sub Файлы()
Dim i As Integer
Dim WB As Workbook
With Application.FileSearch
.LookIn = "Путь к файлам"
.FileType = msoFileTypeExcelWorkbooks
.Execute
If .Execute() > 0 Then
DoEvents
For i = 1 To .FoundFiles.Count
Set WB = Workbooks.Open(.FoundFiles(i), , True)
''тут перебераем, обычно тут у меня разные процедуры
Next i
End If
End With
Set WB = Nothing
End Sub


Если из разных мест. то надо свести пути к файлам в одно место а потом перембрать в цыкле.
Сообщ. #877847
09.08.2005 18:13


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.01.2007 17:15
Сообщ.: 1 089, Visits: 11 975
Да.. не открывая только ссылки или ADO
Сообщ. #877849
10.08.2005 9:48
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 23.06.2006 16:48
Сообщ.: 16, Visits: 154
плохо понял...
как мне, например, сделать такое.
файл a.xls лежит пускай в d:\temp\22Как мне, не открывая его, пробежать по значениям в его 2й колонке в Лист1 ?
Сообщ. #877901
10.08.2005 10:31
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 21.03.2008 5:12
Сообщ.: 386, Visits: 4 197
http://relib.com/forums/topic.asp?id=875652
http://www.j-walk.com/ss/excel/tips/tip82.htm
Сообщ. #877907
10.08.2005 11:19
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 23.06.2006 16:48
Сообщ.: 16, Visits: 154
http://www.j-walk.com/ss/excel/tips/tip82.htm хорошая вещь.
но пишет : file not found в тесте. возможно оно не умеет читать по сети ?, т.к. все файлы лежат в сети... пути выглядят типа: \\server\folder\excel\..
Сообщ. #877912
10.08.2005 12:50
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 21.03.2008 5:12
Сообщ.: 386, Visits: 4 197
да работала и с путями \\...
ExecuteExcel4Macro хороша если данных немного (ну там шапку у таблицы прочитать, или еще чего), а если наоборот, прислушайтесь к совету Сумрака...
Сообщ. #877928
10.08.2005 13:40
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 23.06.2006 16:48
Сообщ.: 16, Visits: 154
даже не знаю. Сумрак, если не сложно, давай спишемся на chudlo@ukr.net
Сообщ. #877940
10.08.2005 17:07