2014-12-22 4 views
1

Я пытаюсь создать журнал сохранения для документа Word. Я хочу отслеживать всех, кто сохраняет этот документ. Я не мог найти простой способ использования VBA после сохранения (по крайней мере, не в словах). Этот topic on after save events не будет работать, потому что эта форма будет распространяться (вероятно, по электронной почте) людям, которые делают изменения, сохраняют их и отправьте форму обратно.MS Word Сохранить историю

У меня это есть в таблице в конце документа.

Last saved by: { LASTSAVEDBY \*Upper\* MERGEFORMAT } on { DOCPROPERTY LastSavedTime \* MERGEFORMAT } 

Я хочу, чтобы вызвать событие (VBA или нет), который будет копировать и вставить эту строку (кроме поддержания его значения vs. коды полей) до или после того, как документ будет сохранен.

Я снял это с MSDN, но я не знал, как это сделать, скопируйте пасту и сохраните значение кодов полей.

Private Sub DocumentBeforeSave() 
    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument) 
    AddHandler vstoDoc.BeforeSave, AddressOf ThisDocument_BeforeSave 
End Sub 

Private Sub ThisDocument_BeforeSave(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Word.SaveEventArgs) 

'do my stuff - copy field code, paste as values. 

    If System.Windows.Forms.MessageBox.Show(_ 
     "Do you want to save the document?", "BeforeSave", _ 
     System.Windows.Forms.MessageBoxButtons.YesNo) = System.Windows.Forms.DialogResult.No Then 
     e.Cancel = True 
    End If 
End Sub 

Чтобы бросить разводной ключ - Я работаю с людьми, которые, вероятно, будут иметь макросы отключены (которые могут сделать эту соломинку). У кого-нибудь есть идея, как это сделать за пределами VBA? Если нет - я буду использовать VBA и пометить его доверенным документом для определенных людей.

ответ

0

Посмотрите на версии файлов (Alt + F, R). Также отслеживаются изменения трека (Alt + T, T) и Protect Document (Alt + T, P).

Вы можете записать их (Alt + T, M, R). Хотя, если вы не можете запускать макросы, не много. НО вы можете конвертировать макросы в VBScript и управлять Word извне. VBScript использует подмножество VBA, но не тот синтаксис, который использует Macro Recorder.

 Смежные вопросы

  • Нет связанных вопросов^_^