IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Форматирование текста в Word (https://www.imho.ws/showthread.php?t=75008)

doro 04.12.2004 13:29

Форматирование текста в Word
 
Помогите разобраться как в С++ Builder форматитровать введённый программно текст? Выделить, копировать, переместить (слово, строку, абзац) врпаво-по-центру- влево?
Сам пробовал - ничего не получается. Если возможно - детально расписанный пример.

Спасибо!

/7y3uK 04.12.2004 16:58

doro
Куда введенный, где форматируемый... откуда копируемый, где выделяемый... непонятно... напиши подробнее что тебе нужно.
Без подробного вопроса могу лишь сказать, что нужно пользоваться OLE.

doro 16.12.2004 03:01

Из программы вставляю текст в Word. Что-то типа меморандума, т.е. перваястрока Bold и вправо, вторая то же Bold и по-центру. Потом штук пять пробелов и начиная с абзаца, с 1,5 интервалом идёт текст. Потом дата Bold и слева и подпись по цетру.

ФИО, даты и должность вставляются и ComboBox'ов.

/7y3uK 16.12.2004 03:37

doro

Если в ворд не обязательно, то не проще сделать это редакторами отчетов? Там как раз все что тебе нужно - есть... Передварительный просмотр печати тоже есть. Поищи в этом разделе - много было постов на эту тему. Иначе замучаешься с OLE.

Al-x 16.12.2004 03:54

Не скажу, как конкретно наС++ Builder :) , но можно записать эти действия в Word через макрос, а потом то, что он сгенерировал на VBA использовать для управления через OLE

Hex0gen 16.12.2004 04:27

Вложений: 1
Цитата:

Сообщение от doro
Помогите разобраться как в С++ Builder форматитровать введённый программно текст? Выделить, копировать, переместить (слово, строку, абзац) врпаво-по-центру- влево?
Сам пробовал - ничего не получается. Если возможно - детально расписанный пример.

Спасибо!

ввв.micr0$0ft.com рулит со страшной силой! :)

Код:

using System;
using Microsoft.Office.Core;

namespace ConsoleApplication1
{
        class Class1
        {
                [STAThread]
                static void Main(string[] args)
                {
                        try
                        {
                                //открываем прложение Word
                                Word.Application wapp = new Word.ApplicationClass();

                                //На всякий случай делаем его видимым
                                wapp.Visible = true;

                                object Null = Type.Missing;

                                //Создаем новый пустой документ. (wapp != null)
                                Word.Document wdoc = wapp.Documents.Add(ref Null, ref Null, ref Null, ref Null);
                               
                                Word.Paragraph wpara = wdoc.Paragraphs.Add(ref Null);

                                wpara.Range.Text = "Вставили текст";
                                wpara.Range.Font.Bold = 1;

                                //Это критично! сначала указываешь содержание, хоть какое-нибудь, потом указываешь
                                //алигмент.
                                wpara.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                        }
                        catch(Exception e)
                        {
                                Console.Write(e.Message);
                        }         
                       
                }
               
        }
}

Это был язык С#. Но тут язык программирования не важен. Тут мы c Word через COM объекты работаем. Проект приложил. Только поставь себе .NET Framework.


Часовой пояс GMT +4, время: 09:27.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.