2012-03-23 2 views
2

Любой эксперт получил представление о том, как я могу определить текстовый документ, если он создан из чистого документа или открыт из существующего документа.vsto - определить документ документа, если он создан из пустого документа или открыт из существующего документа

Я использую Globals.ThisAddIn.Application.ActiveDocument.Saved, но кажется, что этого недостаточно.

ответ

5

Это должно сделать

if (string.IsNullOrEmpty(WordInstance.ActiveDocument.Path)) 
    { 
     throw new ApplicationException("Document must be saved first"); 
    } 
+0

+1 Действительно умный! – Sabuncu

1

для разработчиков VSTO, пожалуйста, иди сюда

if (Globals.ThisAddIn.Application.ActiveDocument.Path == String.Empty) 
    { 
     Word.Dialog dlg; 
     Object timeout = 3000; 
     dlg = Globals.ThisAddIn.Application.Dialogs[ 
      Word.WdWordDialog.wdDialogFileSaveAs]; 
     int result = dlg.Display(ref timeout); 
    } 
    else 
    { 
     Globals.ThisAddIn.Application.ActiveDocument.Save(); 
    } 

Результат будет хранить кнопка, которая нажимается (0- отменить, 1- хорошо, 2- близко)

+0

Это для старой версии? Для Word 2010, по крайней мере, возвращаемые числа неверны, это -1 для OK (действительно должно быть перечисление), а 0 возвращается для любого типа отмены. В любом случае вся информация о диалоговом окне сохранения постороннее. – Chris

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