Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/137: Рейтинг темы: голосов - 137, средняя оценка - 4.80
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5

Как создать документ Word и скопировать туда текст?

25.02.2013, 20:20. Показов 28961. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой метод:
C#
1
2
3
4
5
        public void Export()
        {
            var app = new Word.Application();
            var doc = app.Documents.Open(FileName: "test.doc", Visible: true);
        }
Но если файла нету, то он выкидывает исключение. Вопрос: как этот файл можно создать? И как в него писать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.02.2013, 20:20
Ответы с готовыми решениями:

Создать документ Office Word и написать туда чего нибудь
Начал писать с самого простого visual c++ 9.00 , проект типа windows form aplications помогите пожалуйста, как из него по событию (нажатию...

Создать документ Word и вставить в него текст из буфера
Всем привет! Народ, помогите на vb.net осуществить следующее: 1. Создать документ Word и вставить в него текст из буфера (текст...

Word 2010: как куски текста, выделенные цветом, разом скопировать в другой документ?
В документе, созданном в Word 2010, есть куски текста, выделенные другим цветом. Есть ли возможность все эти куски разом скопировать в...

12
Заблокирован
25.02.2013, 21:15
C#
1
2
3
4
5
  var app = new word.Application();
            app.Visible = true;
            var doc = app.Documents.Add();
            var r =doc.Range();
            r.Text = "Hello Word!";
Добавлено через 2 минуты
http://msdn.microsoft.com/ru-r... 478cs.aspx
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.02.2013, 21:43  [ТС]
adm_loro, а где этот документ создастся?
1
Заблокирован
25.02.2013, 21:45
пока только в памяти, а потом doc.SaveAs();
1
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
25.02.2013, 22:03
У каждого юзера свой Normal.dot, и поэтому на выходе можно получить совсем не то, что планировалось, а спросят потом с автора приложения.

Сейчас нет с собой примера, но я делал следующим образом:
Заготовил шаблон офисного документа (.dot) с нужным шрифтом, полями, отступами итд, и засунул его в ресурсы. Когда нужно было сделать документ, экспортировал шаблон из ресурсов во временную директорию юзера. Затем открывал офисный документ именно с этого шаблона (открывал его вордом), и добавлял текст в документ, созданный с моего шаблона. Затем делал doc.SaveAs(); куда юзер показал.

Добавлено через 2 минуты
Да, шаблон должен быть в формате самого старого из возможных офисов юзера (мы в соглашении с заказчиком прописали 2007), поэтому шаблон был для версии 2007. Более новый офис 2010 нормально его сожрал.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.02.2013, 22:28  [ТС]
ksk, я про эти шаблоны читал, но так и не понял, что это за хрень.
1
Заблокирован
25.02.2013, 22:34
я для excel делал на шаблонах, там все просто было. Создаешь книгу, вносишь форматы ячеек, заполняешь заголовки, а потом сохраняешь как шаблон. При создании новой книги указываешь путь к шаблону, сохраняешь и все ок.
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
25.02.2013, 22:40
Шаблон - это по сути вордный документ, который берётся за основу при создании нового документа. Если при создании нового документа не указан путь к шаблону, ворд смотрит где-то в своих настройках Normal.dot. Было время, в этот нормалдот всякие васиковые вирусы прописывались, и все новые документы его уже содержали.

Любой офисный документ можно из офиса филесавеазом сохранить как шаблон и при его открытии офисом создастся новый документ на основе этого шаблона.

Ну вроде бы это вкратце всё, что надо разработчику знать про эти шаблоны.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
26.02.2013, 00:07  [ТС]
Спасибо. Вопрос теперь такой: у меня есть заголовки и обычный текст, как мне сделать заголовок - заголовком, а обычный текст - обычным? Как раз по-моему это вопрос по этим загадочным шаблонам, но я вообще не понимаю, что в них к чему)))
1
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
26.02.2013, 09:44
Можно сделать шаблон, в котором будет заголовок, для которого назначен заголовочный стиль, и текст, для которого назначен текстный стиль. А вот контент заголовка и текста - это какие-нибудь "волшебные" слова, например #BillingReportHDR# и #BillingReportTXT#, которые можно потом подменить из своей программы.
0
Темная сторона .Net
 Аватар для Noob.net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
26.02.2013, 10:44
Psilon, такое что-то
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
            object oMissing = System.Reflection.Missing.Value;
            object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */
 
            //Start Word and create a new document.
            Word._Application oWord;
            Word._Document oDoc;
            oWord = new Word.Application();
            oWord.Visible = true;
            oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                ref oMissing, ref oMissing);
 
            //Insert a paragraph at the beginning of the document.
            Word.Paragraph oPara1;
            oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);
            oPara1.Range.Text = textBox1.Text;
            oPara1.Range.Font.Bold = 1;
            oPara1.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
            oPara1.Format.SpaceAfter = 24;    //24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter();
            this.Close();
1
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
26.02.2013, 11:45
Psilon, Файл - шаблон заранее создаётся вордом и помещается в ресурсы приложения. Перед использованием сохраняется из ресурсов во временный каталог юзера.

Когда открываешь шаблон вордом в шаблон не пишется ничего. Пишется в новый вордный документ. Этот подход лучше ручного создания стилей, потому что проблему обратной совместимости версий шаблонов будет в этом случае решать ворд.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
26.02.2013, 12:24  [ТС]
ksk, проблема в том, что я не знаю, как эти шаблоны создавать и как ими пользоваться) так бы я рад...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2013, 12:24
Помогаю со студенческими работами здесь

При помещении курсора в TextBox2 туда скопировать текст из TextBox1
Привет. На форме есть 2 TextBox Хотелось сделать так, чтобы при помещении курсора в TextBox2 туда же автоматически копировался текст из...

Как записать текст с указанным шрифтом в документ MS Word
Как записать текст с указанным шрифтом в документ MS Word

Скопировать один Word документ в другой
Нужно после заполнения данных в Excel'е создать Word-формуляр. Имеется один основной docx-файл и несколько предварительно созданных...

Как создать документ Word
Как создать документ Word на C#. В документе таблицу, и таблицу заполнить данными из DataGridView, и сохранить этот файл?

Как в документ Word вставить форматированный текст в формате RTF?
Как в документ Word вставить форматированный текст в формате RTF (clipboard не предлагать)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru