C# 在Word 2016(Office 365)VSTO加载项中处理autosave

C# 在Word 2016(Office 365)VSTO加载项中处理autosave,c#,office365,vsto,office-addins,C#,Office365,Vsto,Office Addins,我想在Word(Office 365)中确定用户是否启用自动保存选项。其目的是在DocumentBeforeSaveEvent中选中此选项,并防止启用自动保存的某些操作。 我这样做检查: Globals.ThisAddIn.Application.ActiveDocument.IsInAutosave 根据微软的说法,如果用户启用自动保存,这个标志应该是true。但它总是错误的。无论我是使用已启用的autosave打开文档,还是通过切换到autosave=on来创建新文档并保存它 IsInAu

我想在Word(Office 365)中确定用户是否启用自动保存选项。其目的是在DocumentBeforeSaveEvent中选中此选项,并防止启用自动保存的某些操作。 我这样做检查:

Globals.ThisAddIn.Application.ActiveDocument.IsInAutosave
根据微软的说法,如果用户启用自动保存,这个标志应该是true。但它总是错误的。无论我是使用已启用的autosave打开文档,还是通过切换到autosave=on来创建新文档并保存它

IsInAutoSave property不起作用的原因有哪些?是否存在检查是否启用自动保存的解决方法?可能该设置存储在其他对象、设置文件或注册表中?提前谢谢


那个属性不是你想象的那样。看见它应该在
DocumentBeforeSave
事件期间使用,以判断当前保存是否为自动保存。它还说,在您链接的文档中

我不知道什么是正确的属性,但你想要什么

有点有趣的是(我在这里是正切的),当我瞄准2013年时,intellisense中没有列出该属性。我不知道这是为什么。我改用这个(Word 2010需要它):


我不记得它是从哪里来的。

这个解决方案在BeforeSaveEvent:dynamic wb=doc.Application.WordBasic中对我有效;如果(wb.IsAutosaveEvent==1){}。奇怪的是,WordBasic属性隐藏在InElisence中。我在谷歌上搜索了Word 2007的类似解决方案,并认为它在Word 2016中不起作用。但确实如此!谢谢,克里斯。
dynamic wb = Application.WordBasic;
autosave = wb.IsAutosaveEvent == 1;