private static void WordDocKiller() { while (hasRunningWord) { Microsoft.Office.Interop.Word.Application runninApp = (Microsoft.Office.Interop.Word.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application"); if (runninApp == null) { hasRunningWord = false; } else { runninApp.Quit(false); } foreach (Microsoft.Office.Interop.Word.Document d in runninApp.Documents) { if (d.FullName.ToLower() == runninApp.Path.ToLower()) { object saveOption = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges; object originalFormat = Microsoft.Office.Interop.Word.WdOriginalFormat.wdOriginalDocumentFormat; object routeDocument = false; d.Close(ref saveOption, ref originalFormat, ref routeDocument); } } } }
public static void SaveToDirectory(string text, string directory) { //Create an instance for word app Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application(); //Set animation status for word application winword.ShowAnimation = false; //Set status for word application is to be visible or not. winword.Visible = false; //Create a missing variable for missing value object missing = System.Reflection.Missing.Value; //Create a new document Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing); //adding text to document document.Content.SetRange(0, 0); document.Content.Text = text; object fileName = directory; document.SaveAs2(ref fileName); document.Close(ref missing, ref missing, ref missing); document = null; winword.Quit(ref missing, ref missing, ref missing); winword = null; }
private void CloseAllWinWord() { while (Process.GetProcessesByName("winword").Count() > 0) { Microsoft.Office.Interop.Word.Application wordInstance = (Microsoft.Office.Interop.Word.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application"); foreach (Microsoft.Office.Interop.Word.Document doc in wordInstance.Documents) { doc.Close(); } wordInstance.Quit(false); Marshal.FinalReleaseComObject(wordInstance); wordInstance = null; } }
public static void SaveText(string text) { try { //Create an instance for word app Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application(); //Set animation status for word application winword.ShowAnimation = false; //Set status for word application is to be visible or not. winword.Visible = false; //Create a missing variable for missing value object missing = System.Reflection.Missing.Value; //Create a new document Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing); //adding text to document document.Content.SetRange(0, 0); document.Content.Text = text; //Save the document Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = @"Word Files (.doc, .docx)|*.doc;*.docx|Text Files (.txt)|*.txt"; object fileName = ""; Nullable <bool> result = dlg.ShowDialog(); if (result == true) { fileName = dlg.FileName; } ; document.SaveAs2(ref fileName); document.Close(ref missing, ref missing, ref missing); document = null; winword.Quit(ref missing, ref missing, ref missing); winword = null; MessageBox.Show("Файл успешно создан"); } catch (Exception ex) { MessageBox.Show(ex.Message, "Oh shit, I'm sorry"); } }
//Select a template private void cbTemplate_SelectedValueChanged(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; ComboBox cb = sender as ComboBox; var template = cb.SelectedItem.ToString(); object FileName = @"C:\Users\ich\Desktop\PI_Winform\Pi.ExportTool\TemplateFile\" + template + ".docx"; object readOnly = true; object visible = true; object save = false; object missing = Type.Missing; object newTemplate = false; object docType = 0; Word._Document oDoc = null; Word._Application oWord = new Word.Application() { Visible = false }; oDoc = oWord.Documents.Open( ref FileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref visible, ref missing, ref missing, ref missing, ref missing); oDoc.ActiveWindow.Selection.WholeStory(); oDoc.ActiveWindow.Selection.Copy(); IDataObject data = Clipboard.GetDataObject(); richTextBox1.Rtf = data.GetData(DataFormats.Rtf).ToString(); oWord.Quit(ref missing, ref missing, ref missing); GetParams(); Cursor.Current = Cursors.Default; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void генерацияФОСToolStripMenuItem_Click(object sender, EventArgs e) { TicketsProgressBar.Visible = true; bool a = false; bool b = false; TicketsProgressBar.Maximum = ids.Count; Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); Document doc = app.Documents.Add(Visible: true); doc.PageSetup.BottomMargin = 56.9f; doc.PageSetup.LeftMargin = 64.1f; doc.PageSetup.TopMargin = 56.9f; doc.PageSetup.RightMargin = 43.2f; Range r = doc.Range(); r.InsertAfter("Оценочные материалы при формировании рабочих программ дисциплин (модулей)" + "\n"); r.InsertAfter("Направление подготовки / специальность: " + getMajorName() + "\n"); int majorname = getMajorName().Length; r.InsertAfter("Профиль / специализация: " + GetSprcName() + "\n"); int specName = GetSprcName().Length; r.InsertAfter("Дисциплина: " + discipline + "\n" + "\n"); int discip = discipline.Length; r.InsertAfter("Формируемые компетенции: " + GetCompetenceForDocument() + "\n" + "\n"); r.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft; r.Font.Size = 10; r.Font.Name = "Arial"; for (int i = 0; i < ids.Count; i++) { int y = ids[i]; switch (y) { case 1: { if (ids[i] == 1 && a == false) { r.InsertAfter("1. Описание показателей, критериев и шкал оценивания компетенций." + "\n"); r.InsertAfter("Показатели и критерии оценивания компетенций " + GetCompetenceForDocument() + "\n"); a = true; } else { r.InsertAfter("Показатели и критерии оценивания компетенций " + GetCompetenceForDocument() + "\n"); } break; } case 2: { if (ids[i] == 2 && a == false) { r.InsertAfter("1. Описание показателей, критериев и шкал оценивания компетенций." + "\n"); r.InsertAfter("Шкалы оценивания компетенций " + GetCompetenceForDocument() + "при сдаче экзамена или зачета с оценкой" + "\n"); a = true; } else { r.InsertAfter("Шкалы оценивания компетенций " + GetCompetenceForDocument() + "при сдаче экзамена или зачета с оценкой" + "\n"); } break; } case 3: { if (ids[i] == 3 && a == false) { r.InsertAfter("1. Описание показателей, критериев и шкал оценивания компетенций." + "\n"); r.InsertAfter("Шкалы оценивания компетенций " + GetCompetenceForDocument() + "при сдаче зачета" + "\n"); a = true; } else { r.InsertAfter("Шкалы оценивания компетенций " + GetCompetenceForDocument() + "при сдаче зачета" + "\n"); } break; } case 4: { if (ids[i] == 4 && a == false) { r.InsertAfter("1. Описание показателей, критериев и шкал оценивания компетенций." + "\n"); r.InsertAfter("Шкалы оценивания компетенций " + GetCompetenceForDocument() + "при защите курсового проекта/курсовой работы" + "\n"); a = true; } else { r.InsertAfter("Шкалы оценивания компетенций " + GetCompetenceForDocument() + "при защите курсового проекта/курсовой работы" + "\n"); } break; } case 5: { if (ids[i] == 5 && a == false) { r.InsertAfter("1. Описание показателей, критериев и шкал оценивания компетенций." + "\n"); r.InsertAfter("Компетенции обучающегося оцениваются следующим образом" + "\n"); a = true; } else { r.InsertAfter("Компетенции обучающегося оцениваются следующим образом" + "\n"); a = true; } break; } case 6: { if (ids[i] == 6) { r.InsertAfter("Соответствие между бальной системой и системой оценивания по результатам тестирования устанавли-вается посредством следующей таблицы" + "\n"); } break; } case 7: { if (ids[i] == 7 && b == false) { r.InsertAfter("4. Оценка ответа обучающегося на вопросы, задачу (задание) экзаменационного билета, зачета, курсового проектирования." + "\n"); r.InsertAfter("Оценка ответа обучающегося на вопросы, задачу (задание) экзаменационного билета, зачета" + "\n"); b = true; } else { r.InsertAfter("Оценка ответа обучающегося на вопросы, задачу (задание) экзаменационного билета, зачета" + "\n"); } break; } case 8: { if (ids[i] == 8 && b == false) { r.InsertAfter("4. Оценка ответа обучающегося на вопросы, задачу (задание) экзаменационного билета, зачета, курсо-вого проектирования." + "\n"); r.InsertAfter("Оценка ответа обучающегося при защите курсового работы/курсового проекта" + "\n"); b = true; } else { r.InsertAfter("Оценка ответа обучающегося при защите курсового работы/курсового проекта" + "\n"); } break; } default: break; } generateTable(ids[i], doc); r.InsertAfter("\n"); TicketsProgressBar.PerformStep(); } r.SetRange(0, 74); r.Font.Bold = 1; r.Font.Size = 12; r.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; r.SetRange(74, 113); r.Font.Bold = 1; r.Font.Size = 12; int p = 114 + majorname; r.SetRange(p, p + 25); r.Font.Bold = 1; r.Font.Size = 12; p = p + 25 + specName + 1; r.SetRange(p, p + 12); r.Font.Bold = 1; r.Font.Size = 12; p = p + 12 + discip + 1; r.SetRange(p, p + 25); r.Font.Bold = 1; r.Font.Size = 12; doc.Save(); doc.Close(); app.Quit(); TicketsProgressBar.Value = 0; MessageBox.Show("Фос успешно сгенерирован", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); }