Офисная интеграция (Word) - перехват сохранения - PullRequest
2 голосов
/ 12 сентября 2009

Я планирую внедрить небольшую внутреннюю систему документооборота. Он должен иметь веб-интерфейс для управления структурой удаленной папки, хранящейся в базе данных. В этих папках хранятся текстовые документы (физически, как блоб в базе данных). Всякий раз, когда пользователь щелкает ссылку на документ, через браузер загружается двоичное слово и (мы надеемся) открывается в Word на ПК пользователя.

Это самая легкая часть;)

Теперь пользователь нажимает «Сохранить» или Ctrl-S. Я хочу, чтобы в Word была запрограммирована функциональность, которая вызывает пользовательскую функцию (возможно, в .NET DLL), которая загружает сохраненный файл обратно на сервер (HTTP). Сложная часть мне кажется:

  • Как перехватить процесс сохранения для вызова функциональности расширения
  • Как развернуть это для нескольких пользователей

Ответы [ 3 ]

1 голос
/ 12 сентября 2009

Вы можете попробовать переопределить «сохранить» с ленты или создать собственную вкладку ленты с нужным вам поведением. Может быть сложнее переопределить "Ctrl-S".

Переопределение ленты: StackOverflow Вопрос

Видео об изменении стандартной кнопки ленты: Центр разработчиков Office

1 голос
/ 16 сентября 2009

Ссылка Майка на вопрос, на который я ответил должен сделать это для перехвата сохранения файла. Специальная кнопка idMso для File->Save - это «FileSave»

Чтобы развернуть его на машине нескольких пользователей, вы можете либо

  1. Создайте проект установки, который создаст MSI, который вы можете запустить на всех компьютерах пользователей
  2. если это сценарий интрасети, вы можете хранить сборки в сетевом расположении и просто добавить необходимые параметры реестра для всех компьютеров пользователей. Эта статья должна содержать описание настроек, которые вам необходимо включить. Вам просто нужно изменить настройку пути, чтобы она указывала на местоположение в сети.
1 голос
/ 12 сентября 2009

AFAIK, это то, что Alfresco делает с надстройками Microsoft Office (хотя сам никогда не проверял). Поскольку Alfresco имеет открытый исходный код, должна быть возможность посмотреть, что они делают. Или просто задайте свои вопросы на форумах Alfresco .

...