예제 #1
0
 public WordDoc OpenDoc(string path, bool readOnly)
 {
     try
     {
         if (App == null)
         {
             throw new Exception($"Не удалось открыть документ {path} приложение не запущено");
         }
         if (!readOnly && IsDocumentOpen(path))
         {
             throw new Exception($"Документ уже редактируется {path}");
         }
         TryPath = path;
         object   opath = path;
         Document doc   = App.Documents.Open(opath, Type.Missing, readOnly);
         if (!readOnly)
         {
             SwitchView(doc);
         }
         WordDoc d = new WordDoc(path, this, doc, readOnly);
         Docs.Add(d);
         TryPath = null;
         return(d);
     }
     catch (Exception e)
     {
         Close();
         throw new Exception($"Не удалось открыть документ {path} ", e);
     }
 }
예제 #2
0
 public WordDoc CreateDoc(string path, bool overwrite)
 {
     try
     {
         if (App == null)
         {
             throw new Exception($"Не удалось создать документ {path} приложение не запущено");
         }
         if (IsDocumentOpen(path))
         {
             throw new Exception($"Документ уже редактируется {path}");
         }
         if (File.Exists(path))
         {
             if (overwrite)
             {
                 File.Delete(path);
             }
             else
             {
                 throw new Exception($"Документ уже существует {path}");
             }
         }
         TryPath = path;
         object   missing = System.Reflection.Missing.Value;
         object   opath   = path;
         Document doc     = App.Documents.Add();
         SwitchView(doc);
         if (Templates.Static.GetDoubleInString(App.Version, false) > 13)
         {
             doc.SaveAs2(ref opath, WdSaveFormat.wdFormatStrictOpenXMLDocument, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
         }
         else
         {
             doc.SaveAs(ref opath, WdSaveFormat.wdFormatDocument);
         }
         WordDoc d = new WordDoc(path, this, doc, false);
         Docs.Add(d);
         TryPath = null;
         return(d);
     }
     catch (Exception e)
     {
         Close();
         throw new Exception($"Не удалось создать документ {path} ", e);
     }
 }