2015-11-24 3 views
2

У меня есть книга Excel с несколькими соединениями данных SharePoint, которая создает панель статистики различной статистики. Моя проблема в том, что было несколько разных версий панели инструментов, и мне нужно убедиться, что все будут в курсе последних событий. К этой дате я сделал следующее:Версии Excel Workbook через SharePoint

Передний лист панели приборов имеет номер версии этого листа в ячейке Z1.

В SharePoint Я создал список, содержащий номер последней версии панели мониторинга.

На панели управления я создал подключение к данным в список SharePoint, содержащий последнюю версию последней версии, которая заполняет скрытый лист на панели управления.

При открытии книги появляется модальная форма. При загрузке этой формы он выполняет проверку между номером локальной версии (ячейкой z1) и номером последней версии на скрытом листе.

Проблема, с которой я столкнулся, заключается в том, что проверка версии в модальной форме выполняется до обновления данных книги - не очень хорошо.

Есть ли способ, которым я могу получить проверку версии после того, как все соединения данных обновлены, или есть простой способ, чтобы я мог получить последний номер версии из SharePoint непосредственно в коде vb модальной формы ,

Cheers, Пит

+1

Предполагая, что модальная форма открывается из события «Workbook_Open», вы могли бы поместить таймер в открытую форму через 10 секунд или в любое другое время, когда вы хотите дождаться обновления данных. Вы также можете установить каждое подключение к данным, чтобы не обновляться при открытии и обновлять его с помощью кода ... поэтому код будет обновлять соединения ... затем открыть форму –

+0

Полное обновление занимает более минуты (имеется довольно много соединений и данных) , поэтому таймер, вероятно, не сработает. Но если бы я мог принудительно обновить список, содержащий последнюю версию, это было бы довольно быстро. Знаете ли вы, что VB обновит соединение с данными случайно? –

+0

'ThisWorkbook.RefreshAll' - общий способ обновления всех подключений. Вы можете обновить отдельное соединение через 'ThisWorkbook.Connections (« myConnection »). Обновите' Google поиск дополнительной помощи. Возможно, вам нужно будет поместить некоторые команды «Таймер» или «Сон» или «DoEvents», чтобы разрешить время подключения для обновления, прежде чем переходить на следующую строку кода. –

ответ

0

Просто хотел поделиться своим решением. Я отключил обновление в открывшемся списке версий и добавил VB в форму, инициализирующую в модальной форме, чтобы выполнить обновление. Поскольку команда refresh находится перед кодом проверки версии, я знаю, что проверка версии проверяет последние данные, а не кнопку предварительной перезагрузки. Спасибо Скотту.

Смежные вопросы