powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как посмотреть значения в ячейках связанных файлов не имея сами файлы
7 сообщений из 7, страница 1 из 1
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36434085
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы было понятнее, что я хочу прикладываю 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.

Расписал как мог, если что-то непонятно, спрашивайте.

Когда-то много лет назад аналогичный вопрос уже задавал на каком-то форуме по программированию (уже не помню где), но ответа не получил (по крайней мере пока мониторил тот сайт).
...
Рейтинг: 0 / 0
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36434272
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В СкриптЭдиторе:
вот это 333 и есть одно из значений: <x:Number>333</x:Number>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  <x:Path>\Documents and Settings\user\Desktop\Book2.xls</x:Path>
  <x:SheetName>Sheet1</x:SheetName>
  <x:SheetName>Sheet2</x:SheetName>
  <x:SheetName>Sheet3</x:SheetName>
  <x:Xct>
   <x:Count> 1 </x:Count>
   <x:SheetIndex> 0 </x:SheetIndex>
   <x:Crn>
    <x:Row> 0 </x:Row>
    <x:ColFirst> 0 </x:ColFirst>
    <x:ColLast> 0 </x:ColLast>
    <x:Number> 333 </x:Number>
   </x:Crn>
  </x:Xct>
 </x:SupBook>
...
Рейтинг: 0 / 0
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36434320
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121В СкриптЭдиторе:Да, посмотрел редактор сценариев, там действительно есть нужные мне суммы, правда я в нём вообще не ориентируюсь.
Как бы вот через VBA извлечь их.
...
Рейтинг: 0 / 0
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36435650
m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m
Гость
Да, интересная тема... Посидел только что немного, но тоже не нашел куда он записывает значения... Единственное нашел такое свойство книги: SaveLinkValues - если его выставить на False, то при изменении значения в одной из книг и при отсутствии другой - получается ошибка...
Вопрос все же остается, куда же он их сохраняет :)...
...
Рейтинг: 0 / 0
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36435702
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mДа, интересная тема... Посидел только что немного, но тоже не нашел куда он записывает значения... Единственное нашел такое свойство книги: SaveLinkValues - если его выставить на False, то при изменении значения в одной из книг и при отсутствии другой - получается ошибка...
Вопрос все же остается, куда же он их сохраняет :)...Есть такая опция "Сохранять значения внешних связей" в Сервис-Параметры-Вычисления.
Поиграл с галочкой, записал, макрос, посмотрел, что вышло:
Код: plaintext
1.
2.
ActiveWorkbook.SaveLinkValues = True 'сохранять значения внешних связей
ActiveWorkbook.SaveLinkValues = False 'не сохранять значения внешних связей
Да, эта проблема когда-то тоже съедала мой мозг.
Сейчас это для меня уже не так актуально, т.к. наш филиал укрупнился, сводами заниматься больше не нужно, но всё равно остался интерес к этой теме.
...
Рейтинг: 0 / 0
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36437387
istoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда-то тоже столкнулся с такой проблемой.
Мне нужно было очистить эти значения, когда файла, на который шла ссылка, не было.
И что-то свойство SaveLinkValues не помогало.
Но посмотреть значения можно, тем более:

Djon Player Много лет назад я написал макрос, который разбирал ссылку на составляющие и создавал чистую книгу и в столбец A помещал значения, а в столбец B тест формул самих ссылок.
Я приложил в качестве примера результат работы этого макроса "Разбор ссылки.xls".
Но этот макрос находит значения путем создания связей на файлы.

Ну тогда можно поставить
Код: plaintext
activeworkbook.UpdateLinks=xlUpdateLinksNever

и тогда получим сохранённые значения ссылок

А вот где они хранятся очень интересно ...
...
Рейтинг: 0 / 0
Как посмотреть значения в ячейках связанных файлов не имея сами файлы
    #36437804
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
istoeНу тогда можно поставить
Код: plaintext
activeworkbook.UpdateLinks=xlUpdateLinksNever

и тогда получим сохранённые значения ссылок
А вот где они хранятся очень интересно ...Заинтересовал меня этот код, переместил файлы Файл1.xls и Файл2.xls в другую папку, чтобы Excel не мог их найти и запустил свой макрос на файле Свод.xls, Excel естественно не находил файлы и предлагал указать к ним путь, я жал отмена и к моему очень большому удивлению, он сгенерировал правильные значения ссылок.
Это было до того как я добавил ваш код.
Надеялся, что после того как добавлю ваш код, Excel вообще не будет пытаться искать файлы.
Добавил код так, чтобы он устанавливал свойство UpdateLinks=xlUpdateLinksNever у чистой книги в которой генерируются ссылки, но Excel всё равно просит указать пути к файлам.
Добавил дополнительно этот код, чтобы он устанавливал свойство UpdateLinks=xlUpdateLinksNever заодно и у файла Свод.xls, опять не помогло всё равно просит файлы.
Получается, что код не помог, но его упоминание дало подсказку, как посмотреть значения не имея файлов.
Вот если бы ещё как-то сделать, чтобы Excel не пытался искать файлы, то тогда проблема была решена.
Т.к. если файлы всё таки есть (в моём случае это именно так), то обращение будет именно к файлам, а это долгий процесс, когда по сетке, 22 ссылки на 22 файла, каждый от 5 до 10 Мб.


Скорее всего код
Код: plaintext
activeworkbook.UpdateLinks=xlUpdateLinksNever
влияет лишь на то, чтобы при открытии, файл Свод.xls не задавал вопрос, обновлять или не обновлять связи и не обновлял их.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как посмотреть значения в ячейках связанных файлов не имея сами файлы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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