Как я могу создать постоянное соединение для передачи данных из MS Project 2013 в Excel 2013?
Я пытаюсь получить даты из файла MS Project, чтобы они попали в отдельный файл Excel, который я использую для запуска условных формул для обработки матрицы состояния проекта.
Суть в том, что мне нужны эти даты для обновления всякий раз, когда изменяется файл проекта, поэтому простой экспорт / импорт не идеален - мне нужно постоянное соединение.
Я пробовал копировать> вставить специальную> ссылку> текстовый подход. Это прекрасно работает для начального дампа данных в Excel, и все обновления в все еще открытом файле проекта все проходят. Однако, как только я закрываю и заново открываю файл excel или проекта, ссылки кажутся поврежденными (я не менял имена файлов или их расположение).
Как я могу установить соединение, которое будет как минимум постоянным и надежным, если оно не обновляется автоматически?
1 ответ
Чтобы выполнить то, что вы просите, вам, вероятно, понадобится использовать сервер проекта и связать Excel с таблицей задач сервера SQL через соединение ODBC только для чтения, но даже тогда это не будет в реальном времени, поскольку база данных обновляется только тогда, когда база данных обновляется. расписание публикуется (и это будет стоить денег при лицензировании).
Файлы MPP могут открываться только одним приложением за раз, поэтому я не думаю, что вы когда-нибудь сможете делать обновления в реальном времени.
Компромиссным вариантом может быть документ MS Excel с макросами, который открывает файл MPP при открытии и сносит последние данные, а затем закрывает файл MPP (или оставляет его заблокированным до закрытия файла Excel, что означает, что дальнейшие изменения не могут быть внесены). Это основано на предположении, что на машине с файлом Excel также установлен MS Project - иначе вы не сможете получить доступ к файлу проекта.
Или добавьте макрос в событие сохранения MS Project, который выводит нужные данные в файл Excel. Дополнительное лицензирование не требуется, только некоторые ноу-хау VBA.
Надеюсь, это поможет.