Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
141 / 180 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
1

Заполнить и распечатать документ Word

08.08.2012, 17:33. Показов 3187. Ответов 4
Метки нет (Все метки)

Нужно разместить на странице картинку и текст, затем вывести на печать. С помощью каких библиотек и функций это можно реализовать ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2012, 17:33
Ответы с готовыми решениями:

Распечатать слитый документ word кнопкой из Excel
Добрый день! Только начинаю осваивать vba, поэтому отнеситесь лояльно=) Стоит задача: написать...

Заполнить word документ из ACCESS
А можно мне помочь? А то не соображаю никак. Все перелопатила, ничего не найду. Точнее нахожу,...

Создать документ Word и заполнить его данными
помогите программно создать документ Word, вставить внего строку, а после строки вставить таблицу...

Конвертирование PDF в Word. Word документ получился с режимом ограниченной функциональности
Добрый день! Конвертировал я PDF документ в Word документ через Adobe Acrobate pro DC. Получился...

4
17 / 17 / 3
Регистрация: 17.02.2010
Сообщений: 211
09.08.2012, 09:41 2
Для работы с вордовскими доками
1.
C#
1
2
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;
а дальше... посмотрите на мой кусок кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 private void MenuStartWordDoc_Click(object sender, EventArgs e)
        {
            //MessageBox.Show("Нет записи для удаления!", "Удаление записи", MessageBoxButtons.OK, MessageBoxIcon.Error);
            string[] zagolowok = { "И.д код", "Ф.И.О.", "Родился", "Место работы", "Таб. №", "Принят", "Уволен", "Причина" }; 
            
            object oMissing = System.Reflection.Missing.Value;
            object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */
 
            //Старт Word и открыть новый документ.
            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);
 
            //Вставить заголовок в начало документа.
            Word.Paragraph oPara1;
            oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);
            oPara1.Range.Text = "Результат выборки по запросу ПАО 'Краснодонуголь'";
            oPara1.Range.Font.Bold = 1;
            oPara1.Format.SpaceAfter = 24;    //24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter();
 
/*            //Insert a paragraph at the end of the document.
            Word.Paragraph oPara2;*/
            object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
/*            oPara2 = oDoc.Content.Paragraphs.Add(ref oRng);
            oPara2.Range.Text = "Heading 2";
            oPara2.Format.SpaceAfter = 6;
            oPara2.Range.InsertParagraphAfter();
 
            //Insert another paragraph.
            Word.Paragraph oPara3;*/
            //oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
/*            oPara3 = oDoc.Content.Paragraphs.Add(ref oRng);
            oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:";
            oPara3.Range.Font.Bold = 0;
            oPara3.Format.SpaceAfter = 24;
            oPara3.Range.InsertParagraphAfter();*/
 
            //Insert a 3 x 5 table, fill it with data, and make the first row
            //bold and italic.
            Word.Table oTable;
            Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
            oTable = oDoc.Tables.Add(wrdRng, cmRecords.Count+1, 8, ref oMissing, ref oMissing);
            oTable.Range.ParagraphFormat.SpaceAfter = 6;
            int r, c;
            
            for (r = 1; r <= cmRecords.Count+1; r++)
            {
                if (r == 1)
                {
                    for (c = 0; c < 8; c++)
                    {
                        oTable.Cell(r, c+1).Range.Text = zagolowok[c];
                    }
                }
                else
                {
                    for (c = 1; c <= 8; c++)
                    {
                        if (c == 1) oTable.Cell(r, c).Range.Text = Convert.ToString(dataGridView1.Rows[r-2].Cells[c-1].Value);
                        if(c == 2)
                        {
                            oTable.Cell(r, c).Range.Text = Convert.ToString(dataGridView1.Rows[r-2].Cells[1].Value) +
                                " " + Convert.ToString(dataGridView1.Rows[r-2].Cells[2].Value) + 
                                " " + Convert.ToString(dataGridView1.Rows[r-2].Cells[3].Value);
                            
                            //oTable.Cell(r, c).Range.Text = strText; | 
                        }
                        if (c == 3 | c == 6 | c ==7)
                        {
                            //strText = strText + " " + 
                            oTable.Cell(r, c).Range.Text = Convert.ToString(dataGridView1.Rows[r - 2].Cells[c+1].Value).Substring(0,10);
                        }
                        if (c == 8 | c == 4 | c == 5)
                        {
                            oTable.Cell(r, c).Range.Text = Convert.ToString(dataGridView1.Rows[r - 2].Cells[c + 1].Value);
                        }
                    }
                }
            }
            oTable.Rows[1].Range.Font.Bold = 1;
            oTable.Rows[1].Range.Font.Italic = 1;
 
            //Add text after the chart.
            wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
            wrdRng.InsertParagraphAfter();
            wrdRng.InsertAfter("Конец выборки.");
 
            //Close this form.
            this.Close();
        }
а вообщето найти инфу по данной теме достаточно просто, покопайтесь в инете. Удачи!
2
141 / 180 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
27.08.2012, 18:48  [ТС] 3
C#
1
    using Word = Microsoft.Office.Interop.Word;
VS2010 Ultimate не понимает эту конструкцию.
0
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
27.08.2012, 19:11 4
Добавьте ссылку Microsoft.Office.Interop.Word
1
141 / 180 / 44
Регистрация: 25.04.2012
Сообщений: 2,623
Записей в блоге: 5
09.11.2012, 15:22  [ТС] 5
Как добавить разрыв страницы ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2012, 15:22

Как послать документ Word из Word на заданный email
Попытался написать макрос на VBA, используя свойство SendMail, но при этом автоматически не...

Распечатать документ
Всем привет. Программа типа интернет магазина. Человек выбрал товар, добавил в корзину. А как...

Как распечатать документ?
Создал вордовский файл через CreateOleObject('Word.Application');Надо его распечатать. Как? ...

Как распечатать документ А4 в формате А5
Можно ли документ А4 в формате документа А5? Картинки печатаются, документ нет.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru