none
Convert в документ WinWord RRS feed

Ответы

  • Настолько подробно пойдет:

          string rtfname = @"c:\Temp\rtffile.rtf";
          string wordname = @"c:\Temp\wordfile.doc";
          dynamic word = Activator.CreateInstance(Type.GetTypeFromProgID("Word.Application"));
          dynamic document = word.Documents.Open(rtfname);
          document.SaveAs(wordname);
          //Если нужно показать файл
          //word.Visible = true;
          //Если не нужно, то просто закрываем документ
          //document.Close();
          //Или полностью закрываем ворд, если уверены, что больше документов открытых не было      
          //Хотя он, наверно, спросить должен если есть несохраненные документы
          //word.Quit();
    


    • Помечено в качестве ответа Abolmasov Dmitry 27 июня 2011 г. 9:27
    22 июня 2011 г. 6:02
    Модератор
  • RichTextBox1.SaveFile("f:\rtf.doc")

    SaveFile просит путь к файлу, но он не требует точного расширения, поэтому сохраняйте хоть .dat без разницы

    • Помечено в качестве ответа Abolmasov Dmitry 27 июня 2011 г. 9:28
    22 июня 2011 г. 14:31
    Отвечающий
  • 1. Можно rtf переименовать в .doc и он будет открываться word'ом.

    2. Можно используя DLR создать объект Word'a, открыть в нем rtf и сохранить в doc.

     

    • Помечено в качестве ответа Abolmasov Dmitry 27 июня 2011 г. 9:27
    22 июня 2011 г. 4:20
    Модератор

Все ответы

  • 1. Можно rtf переименовать в .doc и он будет открываться word'ом.

    2. Можно используя DLR создать объект Word'a, открыть в нем rtf и сохранить в doc.

     

    • Помечено в качестве ответа Abolmasov Dmitry 27 июня 2011 г. 9:27
    22 июня 2011 г. 4:20
    Модератор
  • Здравствуйте, Ulcer!

    Нельзя ли про 2. поподобнее?

    22 июня 2011 г. 5:19
  • Настолько подробно пойдет:

          string rtfname = @"c:\Temp\rtffile.rtf";
          string wordname = @"c:\Temp\wordfile.doc";
          dynamic word = Activator.CreateInstance(Type.GetTypeFromProgID("Word.Application"));
          dynamic document = word.Documents.Open(rtfname);
          document.SaveAs(wordname);
          //Если нужно показать файл
          //word.Visible = true;
          //Если не нужно, то просто закрываем документ
          //document.Close();
          //Или полностью закрываем ворд, если уверены, что больше документов открытых не было      
          //Хотя он, наверно, спросить должен если есть несохраненные документы
          //word.Quit();
    


    • Помечено в качестве ответа Abolmasov Dmitry 27 июня 2011 г. 9:27
    22 июня 2011 г. 6:02
    Модератор
  • А как по мне зачем нужны лишние заморочки и строки кода, если можно

    My.Computer.FileSystem.RenameFile("Test.txt", "Test.doc")

    И, если нужно, запускаем

    Process.Start ("Test.doc")
    
    Плюс ко всему, при сохранении в .rtf можно сразу поставить .doc и тогда и этот код не понадобится...

    22 июня 2011 г. 9:42
    Отвечающий
  • А как при сохранении в .rtf можно сразу поставить .doc?

    Сейчас я пользуюсь командой

    RichTextBox1.SaveFile("f:\rtf.rtf")

     

    22 июня 2011 г. 12:25
  • RichTextBox1.SaveFile("f:\rtf.doc")

    SaveFile просит путь к файлу, но он не требует точного расширения, поэтому сохраняйте хоть .dat без разницы

    • Помечено в качестве ответа Abolmasov Dmitry 27 июня 2011 г. 9:28
    22 июня 2011 г. 14:31
    Отвечающий
  • Так а "внутренность" будет как у .rtf, а не как у .doc?
    22 июня 2011 г. 16:10
  • А какая разница. Word одинаково понимает как rtf так и doc. Вы можете воспользоваться советом, что вам дал ulcer, но я просто не вижу в этом смысла. Одно дело когда вы хотите оперировать с документом Word, а другое когда из обычного RichTextBox'a сохранить в doc. По крайней мере на заданный вами вопрос в первом посте темы такой ответ более логичен и прост.

    22 июня 2011 г. 16:28
    Отвечающий