|
|
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
Чтобы было понятнее, что я хочу прикладываю 3 файла: Свод.xls, Файл1.xls, Файл2.xls. В ячейке A1 в файле Файл1.xls значение 1, в ячейке A1 в файле Файл2.xls значение 2. В ячейке A1 в файле Свод.xls формула ='C:\test\[Файл1.xls]Лист1'!$A$1+'C:\test\[Файл2.xls]Лист1'!$A$1 Если поместить эти файлы в один каталог, открыть файл Свод.xls и обновить связи, то в ячейке A1 будет значение 3. Если закрыть все файлы. Затем файл Файл1.xls вообще удалить (или переименовать). Затем открыть файл Файл2.xls и в ячейке A1 вместо 2 установить другое число, например 4, сохранить. Потом открыть файл Свод.xls, то в ячейке A1 мы получим значение 5. Из всего этого логично сделать вывод, что файл Свод.xls содержит в себе значения всех ячеек внешних файлов, на которые идут ссылки, в данном случае это ячейки A1 файлов Файл1.xls и Файл2.xls. Вопрос, как программно получить значения этих внешних ячеек, не имея сами файлы, на которые идут связи. Много лет назад я написал макрос, который разбирал ссылку на составляющие и создавал чистую книгу и в столбец A помещал значения, а в столбец B тест формул самих ссылок. Я приложил в качестве примера результат работы этого макроса "Разбор ссылки.xls". Но этот макрос находит значения путем создания связей на файлы. А мне нужно как-то извлечь эти данные из самого файла Свод.xls. Т.е. к примеру, если бы у вас был лишь один файл Свод.xls, а файлов Файл1.xls и Файл2.xls не было, чтобы макрос всё равно мог определить, что значение в ячейке A1 равно сумме 1 и 2. Расписал как мог, если что-то непонятно, спрашивайте. Когда-то много лет назад аналогичный вопрос уже задавал на каком-то форуме по программированию (уже не помню где), но ответа не получил (по крайней мере пока мониторил тот сайт). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 16:07 |
|
||
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
В СкриптЭдиторе: вот это 333 и есть одно из значений: <x:Number>333</x:Number> Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 17:06 |
|
||
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
Hugo121В СкриптЭдиторе:Да, посмотрел редактор сценариев, там действительно есть нужные мне суммы, правда я в нём вообще не ориентируюсь. Как бы вот через VBA извлечь их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2010, 17:19 |
|
||
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
Да, интересная тема... Посидел только что немного, но тоже не нашел куда он записывает значения... Единственное нашел такое свойство книги: SaveLinkValues - если его выставить на False, то при изменении значения в одной из книг и при отсутствии другой - получается ошибка... Вопрос все же остается, куда же он их сохраняет :)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 11:43 |
|
||
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
mДа, интересная тема... Посидел только что немного, но тоже не нашел куда он записывает значения... Единственное нашел такое свойство книги: SaveLinkValues - если его выставить на False, то при изменении значения в одной из книг и при отсутствии другой - получается ошибка... Вопрос все же остается, куда же он их сохраняет :)...Есть такая опция "Сохранять значения внешних связей" в Сервис-Параметры-Вычисления. Поиграл с галочкой, записал, макрос, посмотрел, что вышло: Код: plaintext 1. 2. Сейчас это для меня уже не так актуально, т.к. наш филиал укрупнился, сводами заниматься больше не нужно, но всё равно остался интерес к этой теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 11:53 |
|
||
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
Когда-то тоже столкнулся с такой проблемой. Мне нужно было очистить эти значения, когда файла, на который шла ссылка, не было. И что-то свойство SaveLinkValues не помогало. Но посмотреть значения можно, тем более: Djon Player Много лет назад я написал макрос, который разбирал ссылку на составляющие и создавал чистую книгу и в столбец A помещал значения, а в столбец B тест формул самих ссылок. Я приложил в качестве примера результат работы этого макроса "Разбор ссылки.xls". Но этот макрос находит значения путем создания связей на файлы. Ну тогда можно поставить Код: plaintext и тогда получим сохранённые значения ссылок А вот где они хранятся очень интересно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2010, 22:37 |
|
||
|
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
|
|||
|---|---|---|---|
|
#18+
istoeНу тогда можно поставить Код: plaintext и тогда получим сохранённые значения ссылок А вот где они хранятся очень интересно ...Заинтересовал меня этот код, переместил файлы Файл1.xls и Файл2.xls в другую папку, чтобы Excel не мог их найти и запустил свой макрос на файле Свод.xls, Excel естественно не находил файлы и предлагал указать к ним путь, я жал отмена и к моему очень большому удивлению, он сгенерировал правильные значения ссылок. Это было до того как я добавил ваш код. Надеялся, что после того как добавлю ваш код, Excel вообще не будет пытаться искать файлы. Добавил код так, чтобы он устанавливал свойство UpdateLinks=xlUpdateLinksNever у чистой книги в которой генерируются ссылки, но Excel всё равно просит указать пути к файлам. Добавил дополнительно этот код, чтобы он устанавливал свойство UpdateLinks=xlUpdateLinksNever заодно и у файла Свод.xls, опять не помогло всё равно просит файлы. Получается, что код не помог, но его упоминание дало подсказку, как посмотреть значения не имея файлов. Вот если бы ещё как-то сделать, чтобы Excel не пытался искать файлы, то тогда проблема была решена. Т.к. если файлы всё таки есть (в моём случае это именно так), то обращение будет именно к файлам, а это долгий процесс, когда по сетке, 22 ссылки на 22 файла, каждый от 5 до 10 Мб. Скорее всего код Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2010, 09:57 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36437804&tid=2178553]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 396ms |

| 0 / 0 |
