Как я могу открыть документ Office с сервера sql через приложение C # для Windows и автоматически сохранить его обратно в базу данных после завершения редактирования? - PullRequest
1 голос
/ 30 июня 2009

Наше приложение написано на C # с использованием .net 2.0. Приложение отслеживает наш бизнес-процесс, и пользователи могут прикреплять офисные документы для справки в виде вложений. Они часто редактируют эти документы. В настоящее время им необходимо сохранить файл на жестком диске, отредактировать и сохранить файл, а затем повторно присоединить его к нашему приложению для сохранения в базе данных (SQL 2005).

Наши пользователи хотели бы иметь возможность редактировать документ и сохранять изменения без необходимости отрывать, редактировать и повторно прикреплять.

Мы можем программно запустить офисный документ (word, excel или powerpoint), но как мы можем узнать, когда документ закрыт, и повторно присоединить обновленную версию к базе данных автоматически?

Спасибо за любую помощь.

Джо

Ответы [ 3 ]

0 голосов
/ 04 июля 2009

Посмотрите на технологию SmartDocument на MSDN. Из трех упомянутых вами приложений для повышения производительности (Word, Excel, Powerpoint) первые два наверняка и, возможно, Powerpoint, могут иметь правую боковую панель - где вы обычно видите стили, навигацию или задачи - запрограммированные через VS с использованием SmartDocument и Инструменты для плагинов Office.

Таким образом, вы можете запрограммировать панель таким образом, чтобы пользователь, работающий в Office или Excel (и, возможно, PP - не рассматривал это), мог выбрать документ для редактирования из вашего приложения, внести изменения и сохранить / прикрепить документ, все из интерфейса Word. Программирование за правой боковой панелью автоматически позаботится об отсоединении и повторном присоединении документа, а также может при желании сохранить документ в SQLServer.

Надеюсь, это поможет.

0 голосов
/ 28 декабря 2009

Если вы запускаете файл с помощью метода Process.Start и передаете путь к файлу в качестве параметра, вы можете использовать метод WaitForExit (), чтобы получать уведомления, когда пользователь закрыл файл.

0 голосов
/ 30 июня 2009

У вас может быть назначенный каталог (например, Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments)), в котором вы сохраняете файлы, отредактированные в данный момент, и помещаете FileSystemWatcher, чтобы посмотреть, изменяется ли файл.

Класс Diagnostics.Process также имеет событие «Exited», которое уведомит вас о завершении процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...