Я работаю с файлами MS Word, использую TWordApplication. Мне нужно показать сообщение, когда документ был изменен пользователем, но когда документ ReadOnly, сообщение не должно отображаться.TWordApplication handle change ReadOnly состояние
У меня проблема при открытии документа readonly, после чего пользователь может выбрать «Просмотр» - отредактировать документ и внести некоторые изменения. В этом случае мне нужно показать сообщение, но свойство ReadOnly документа не изменилось.
Как я могу обрабатывать действие, когда пользователь разрешает редактировать документ?
Я понятия не имею, просьба предложить мне.
var
LWordApp: TWordApplication;
LWordDoc: _Document;
LProtectionType: TOleEnum;
begin
LWordApp:= TWordApplication.Create(nil);
LWordApp.OnQuit := DocumentClose;
LWordApp.Connect;
...
LWordDoc:= LWordApp.Documents.Open(АFileName, // FileName
EmptyParam, // ConfirmConversion
EmptyParam, // ReadOnly
EmptyParam, // AddToRecentFiles
EmptyParam, // PasswordDocument
EmptyParam, // PasswordTemplate
EmptyParam, // Revert
EmptyParam, // WritePasswordDocument
EmptyParam, // WritePasswordTemplate
EmptyParam, // Format
EmptyParam,
EmptyParam
);
LProtectionType := LWordDoc.ProtectionType;
if AProtectionPassword <> '' then
begin
if LProtectionType <> wdNoProtection then
Doc.Unprotect(AProtectionPassword);
end;
LWordApp.Visible := True;
LWordDoc.Close(tmpSaveIT, EmptyParam, EmptyParam);
LWordApp.Disconnect;
LWordApp.Quit;
end;
procedure DocumentClose(Sender: TObject);
begin
ShowMessage("Hello");
end;
Боюсь, я не нахожу ваш q совершенно ясным. Когда ** точно ** вы хотите, чтобы ваше сообщение показывалось? F.I. предположим, что пользователь начинает печатать, а затем закрывает документ без сохранения. Когда вы будете показывать сообщение и сколько раз, каждый раз, когда они нажимают клавишу или что? – MartynA
Действительно ли документ доступен только для чтения, не имеет значения? Вы хотите показать сообщение, если документ изменился, независимо. – Dsm