Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Ноябрь 2019, 08:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2   Вниз
  Печать  
Автор Тема: И снова обновление внешних связей макросом  (Прочитано 780 раз)
0 Пользователей и 1 Гость смотрят эту тему.
economist
Форумчанин
***
Online Online

Сообщений: 1 033


« Ответ #15: 24 Октябрь 2019, 11:43 »

Konstanta - это замедление объяснимо. Calc/Excel хранят "предрассчитанные значения" связей в паре с датой изменения файлов. Если файл-источник  обновился - вместо значения показывается #ЗНАЧ. На обновление связей нужно время, оттого и тормоза.

Что касается неработающего refresh - попробуйте тотальную обновлялку:
Код:
Sub refreshAllSheetLinks()
oEnum = thisComponent.AreaLinks.createEnumeration
while oEnum.hasMoreElements
   oLink = oEnum.NextElement
   oLink.refresh
wend
oEnum = thisComponent.SheetLinks.createEnumeration
while oEnum.hasMoreElements
   oLink = oEnum.NextElement
   oLink.refresh
wend
oEnum = thisComponent.DDELinks.createEnumeration
while oEnum.hasMoreElements
   oLink = oEnum.NextElement
   oLink.refresh
wend
End Sub
  
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #16: 24 Октябрь 2019, 15:20 »

Что касается неработающего refresh - попробуйте тотальную обновлялку:
С таким успехом можно предложить обновить жену, квартиру, работу..., а если не поможет, то что-нибудь ещё...

Тот метод связи с другими документами который выбрал ТС, не имеет метода refresh (просто не доделан с давних пор), так что никакие обновления чего бы то ни было не помогут, остаётся только старенький добрый диспетчер... или попробовать другие возможности.
Записан

economist
Форумчанин
***
Online Online

Сообщений: 1 033


« Ответ #17: 24 Октябрь 2019, 17:10 »

rami - согласен, за способ с диспетчером спасибо.

Я просто немного забежал вперед: ТС ищет любые способы и возможно дойдет до DDE и ссылок на целые листы. DDE - вполне себе работает и обновляется. Годится для единичных связей.

Можно дергать лист целиком, ведь refresh на SheetLinks тоже, вроде, работал (Лист - Вставить лист - из файла - связь). Да и при открытии книги запрос задается, такое не пропустишь. А потом уже с внутреннего листа книги можно брать нужное.


« Последнее редактирование: 25 Октябрь 2019, 08:11 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #18: 24 Октябрь 2019, 20:30 »

Konstanta, попробуйте такой документ:

1. откройте и согласитесь на обновление связей, проверьте импорт данных, если нормально, закройте без сохранения

2. откройте и откажитесь от обновления связей, нажмите на кнопку "Обновить связи" на листе "Общий"

3. хвалитесь результатами Смеющийся



P.S. заменил документ на исправленный

* testDoc1.ods (144.75 Кб - загружено 3 раз.)
« Последнее редактирование: 25 Октябрь 2019, 10:42 от rami » Записан

Konstanta
Участник
**
Offline Offline

Сообщений: 40


« Ответ #19: 25 Октябрь 2019, 09:16 »

rami Спасибо за поддержку!
Сохранил.
Открыл.
Попробовал оба варианта.
Не пошло.
Пока результата нет.

Но Вы порадовали меня своим позитивом с утра, за что отдельное Спасибо!
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #20: 25 Октябрь 2019, 09:18 »

Пока результата нет.
А что есть? На что жалуется?
Записан

Konstanta
Участник
**
Offline Offline

Сообщений: 40


« Ответ #21: 25 Октябрь 2019, 09:58 »

Да не жалуется вообще.
Кнопка кликается.
Ничего не меняется.
Проверил привязку кнопки к макросу. Всё нормально.
В связях стоит "Невозможно обновить ссылку."
Я сначала подумал что связи просто слетели.
В одном из листов вставил новую связь
после вызова макроса встала ошибка "#ссыл"
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 816


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #22: 25 Октябрь 2019, 10:47 »

Запутался немного в ваших ссылках, поправил, надеюсь, угадал.


Чтобы не плодить документы заменил предыдущую версию документа на исправленную в Ответ #18
Записан

Страниц: « 1 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!