Есть ли способ синхронизировать две книги?

#excel #vba

#excel #vba

Вопрос:

Я создаю книгу в Excel, где есть несколько «интерфейсных» листов и листов «базы данных». Итак, я хочу отследить, были ли внесены какие-либо изменения в лист «база данных», и если да, внесите те же изменения в книгу, которая загружена на Google Диск. Кроме того, когда открывается локальная книга, она сначала проверяет, были ли внесены какие-либо изменения в «базу данных» Google Диска, и если да, то сначала получает изменения и обновляет листы локальной «базы данных».

Диаграмма

Комментарии:

1. В чем конкретно заключается ваш вопрос?

2. @MatteoNNZ Есть ли эффективный способ сделать это с помощью макросов vba? Я мог бы придумать несколько способов экспорта данных в документы Google, но я понятия не имею, как проверить, были ли изменения данных на диске, и импортировать их, если да.

3. VBA, безусловно, не лучший язык для разработки серверно-клиентских архитектур, но да, это возможно. Однако вы столкнетесь со множеством проблем, типичных для приложений с общей базой данных, например: пользователь A открывает книгу Z и изменяет ее, пользователь B делает то же самое, как вы будете обрабатывать конфликты, когда они оба сохранят ее? Если ваш вопрос просто «есть ли способ синхронизировать таблицу Google Drive в Excel», ответ — да, это возможно, если вы выполните поиск по этим ключевым словам в Google, вы найдете много результатов.

4. @MatteoNNZ Итак, я подумал о записи даты и времени любого изменения в качестве переменной. Затем сравните эту переменную с датой и временем последнего изменения рабочего листа на Google Диске. Итак, если это так, > тогда экспортируйте данные на Google Диск, если < тогда, прежде чем вносить какие-либо изменения в локальную базу данных, сначала импортируйте данные с Google диска, а затем сохраните изменения в локальной базе данных, а затем перенесите данные на Google Диск.