Очень древний код от Ю.Б., еще со времен медтеста. Пусть будет.
private void PrintResBtn_Click(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor; //стиль курсора - ждущий
SaveResFileD.FileName = StudentLabel.Text + " " + TestDateLabel.Text.Substring(0, 11) + ".doc";
SaveResFileD.Filter = "Документ Word (*.doc)|*.doc";
string FilePath = "";
if (SaveResFileD.ShowDialog() == DialogResult.OK)
{
this.Cursor = Cursors.WaitCursor; //стиль курсора - ждущий
//Сохраняем содержимое текстового поля в файл заявки
FileInfo NewRequestFile = new FileInfo(SaveResFileD.FileName);
NewRequestFile.Create().Close();
ResultRTB.AppendText("\t\t\t\tРЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ \n\n ");
ResultRTB.AppendText("\n\t\tСтудент " + StudentLabel.Text + "\t\t\t Группа " + GroupBox.Text + "\n\n");
ResultRTB.AppendText("\t\tДата тестирования " + TestDateLabel.Text.Substring(0, 11) + "\n\n");
ResultRTB.AppendText(TT_TextTaskBox.Text);
ResultRTB.AppendText("\n\n---------------------------------------------------------\n");
for (int i = 0; i < ResultGrid.RowCount; i++)
{
ResultRTB.AppendText("\tВопрос № " + (i + 1).ToString() + "\t" + ResultGrid[0, i].Value.ToString() + "\n\tОтвет -\t" + ResultGrid[1, i].Value.ToString() + "\n\tРезультат\t" + ResultGrid[2, i].Value.ToString() + "\n");
ResultRTB.AppendText("---------------------------------------------------------\n");
}
ResultRTB.SaveFile(SaveResFileD.FileName);
FilePath = SaveResFileD.FileName;
this.Cursor = Cursors.Arrow;
}
try
{
//создаем оъект класса MicrosoftWord
//OBJECT OF MISSING "NULL VALUE"
Object oMissing = System.Reflection.Missing.Value;
Object oTemplatePath = FilePath;
//OBJECTS OF FALSE AND TRUE
Object oTrue = true;
Object oFalse = false;
//CREATING OBJECTS OF WORD AND DOCUMENT
Word.Application oWord = new Word.Application();
oWord.Caption = FilePath;
Word.Document oWordDoc = new Word.Document();
//MAKING THE APPLICATION VISIBLE
oWord.Visible = true;
//ADDING A NEW DOCUMENT TO THE APPLICATION
oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
Word.ApplicationClass WordApp =
new Word.ApplicationClass();
}
catch (Exception PrEx)
{
}
finally
{
if (DBConnection.State == ConnectionState.Open)
DBConnection.Close();
}
/* //Сохраняем содержимое текстового поля в файл заявки
FileInfo NewResFile = new FileInfo(NewRequestFilePath);
NewRequestFile.Create().Close();
//RequestBox.SaveFile(NewRequestFilePath);
try
{
//создаем оъект класса MicrosoftWord
//OBJECT OF MISSING "NULL VALUE"
Object oMissing = System.Reflection.Missing.Value;
Object oTemplatePath = RequestDir + @"\" + DateTime.Now.Day.ToString() + "." + DateTime.Now.Month.ToString() + "." + DateTime.Now.Year.ToString() + ".doc";
//OBJECTS OF FALSE AND TRUE
Object oTrue = true;
Object oFalse = false;
//CREATING OBJECTS OF WORD AND DOCUMENT
Word.Application oWord = new Word.Application();
Word.Document oWordDoc = new Word.Document();
//MAKING THE APPLICATION VISIBLE
oWord.Visible = true;
//ADDING A NEW DOCUMENT TO THE APPLICATION
oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
Word.ApplicationClass WordApp =
new Word.ApplicationClass();
}
catch (Exception PrEx)
{
ErrorBox Message = new ErrorBox("Ошибка печати документа заявки\nОткройте документ '" + NewRequestFilePath + "' и \nпопробуйте его распечатать\n" + PrEx.Message, "");
Message.Visible = true;
//MessageBox.Show("Ошибка печати документа заявки\nОткройте документ '" + NewRequestFilePath + "' и \nпопробуйте его распечатать\n" + PrEx.Message,
//"", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
if (DBConnection.State == ConnectionState.Open)
DBConnection.Close();
}*/
// MessageBox.Show("На сегодня ничего не заказано");
/* }
catch (Exception RequestEx)
{
ErrorBox Message = new ErrorBox("RequestEx.Message \nВозникла системная ошибка \n при составлении заявки в аптеку,\nобратитесь к администратору ", "");
Message.Visible = true;
//MessageBox.Show(RequestEx.Message + "\nВозникла системная ошибка "+
//"\nпри составлении заявки в аптеку,\nобратитесь к администратору ");
}
finally { DBConnection.Close(); }*/
this.Cursor = Cursors.Arrow;
}