Работа с вордом

Очень древний код от Ю.Б., еще со времен медтеста. Пусть будет.

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;

        }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *