1 / 1 / 1
Регистрация: 30.09.2017
Сообщений: 112

Экспорт содержимого RichEdit в MS Word

24.03.2018, 14:24. Показов 3149. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, народ! Пытался найти на просторах Интернета решение по поводу экспорта содержимого компонента RichEdit в MS Word, но так и не наткнулся на что-то полезное, всё обсуждается поверхностно. Были попытки написать что-нибудь самому, но они не увенчались успехом. Натолкните на мысль, друзья... (P.S. Вылетает с ошибкой - запрашиваемый номер семейства не существует)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm3.Button1Click(Sender: TObject);
var
Template, s: OleVariant;
begin
Template:=ExtractFilePath(Application.EXEName)+'Отчет.dot';
WordApplication1.Connect;
WordApplication1.Documents.Add(Template,EmptyParam,EmptyParam,EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordApplication1.Options.CheckSpellingAsYouType:=False;
WordApplication1.Options.CheckGrammarAsYouType:=False;
WordDocument1.ActiveWindow.Caption:='Отчет';
s:='Имя';
WordApplication1.ActiveDocument.Bookmarks.Item(s).Range.Text:=edit1.Text;
s:='Фамилия';
WordApplication1.ActiveDocument.Bookmarks.Item(s).Range.Text:=edit2.Text;
s:='Отчество';
WordApplication1.ActiveDocument.Bookmarks.Item(s).Range.Text:=edit3.Text;
s:='Название организации';
WordApplication1.ActiveDocument.Bookmarks.Item(s).Range.Text:=edit4.Text;
s:='ААА';
WordApplication1.ActiveDocument.Bookmarks.Item(s).Range.Text:=Form1.RichEdit1.Text;
WordApplication1.Visible:=true;
WordApplication1.Disconnect;
end;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2018, 14:24
Ответы с готовыми решениями:

Экспорт содержимого RichEdit в MS Word
VyachNik, Я извиняюсь, но не могли бы вы подсказать как это можно было бы реализовать в C++ Builder?

RichEdit, посимвольное чтение содержимого
Есть у меня следующая задача, используя компонент RegEdit, программа должна содержимое (текст), преобразовать в html код для последующего...

Экспорт данных из RichEdit в столбец Excel
Здравствуйте уважаемые программисты :) Пробую сделать сохранение содержимого RichEdit1 в книгу Excel на Лист1. Не получается. void...

7
Эксперт Pascal/Delphi
 Аватар для droider
4925 / 2792 / 856
Регистрация: 04.10.2012
Сообщений: 10,177
24.03.2018, 14:53
AndreyBBB, сохраняйте в rtf.
0
1 / 1 / 1
Регистрация: 30.09.2017
Сообщений: 112
24.03.2018, 14:59  [ТС]
droider, каким образом? От того что я поменял расширение файла с *.dot на *.rtf ошибка не исчезла...
0
Эксперт Pascal/Delphi
 Аватар для droider
4925 / 2792 / 856
Регистрация: 04.10.2012
Сообщений: 10,177
24.03.2018, 16:37
Цитата Сообщение от AndreyBBB Посмотреть сообщение
каким образом?
Delphi
1
2
3
4
5
6
7
//...
With RichEdit1 do
begin
PlainText :=False;
Lines.SaveToFile('c:\имя_файла.rtf');
end;
//...
0
1 / 1 / 1
Регистрация: 30.09.2017
Сообщений: 112
24.03.2018, 19:11  [ТС]
droider, не совсем понимаю как работает ваша Конструкция. Не могли бы Вы устранить проблема на моём примере, если это конечно не составим вам труда.
0
Эксперт Pascal/Delphi
 Аватар для droider
4925 / 2792 / 856
Регистрация: 04.10.2012
Сообщений: 10,177
24.03.2018, 20:47
Цитата Сообщение от AndreyBBB Посмотреть сообщение
не совсем понимаю как работает ваша Конструкция
что тут непонятного? Содержимое TRichEdit выгружается на диск С: в файл с указанным именем в формате rtf.
Для начала почитайте про компонент TRichEdit.

Цитата Сообщение от AndreyBBB Посмотреть сообщение
устранить проблема на моём примере
Ваш пример не подойдет, т.к. TRichEdit "не умеет" работать с этими форматами .dot, .doc и т.д.
0
 Аватар для VyachNik
49 / 49 / 34
Регистрация: 16.02.2016
Сообщений: 279
25.03.2018, 11:44
Лучший ответ Сообщение было отмечено AndreyBBB как решение

Решение

такой простенький вариант:
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;
 
type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
uses ComObj;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var WordApp, WordDoc: Variant;
begin
  try
    WordApp := CreateOleObject('Word.Application');
    WordApp.Visible := false;
    WordDoc := WordApp.Documents.Add;
    WordApp.Selection.TypeText(RichEdit1.Text);
    WordDoc.Close;
  finally
    WordApp := Unassigned;
    WordDoc := Unassigned;
  end;
end;
end.
результат работы программы:
Миниатюры
Экспорт содержимого RichEdit в MS Word  
0
1 / 1 / 1
Регистрация: 30.09.2017
Сообщений: 112
26.03.2018, 10:12  [ТС]
VyachNik, спасибо Вам большое, но уже проблема решена. Хотя думаю ваш вариант не хуже, а может даже и лучше.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm3.Button1Click(Sender: TObject);
var
  WordApp, s1, s2, s3, s4: OleVariant;
begin
  WordApp:=CreateOLEObject('Word.Application');
  WordApp.Documents.Add();
  s1:='Имя:';
  WordApp.Selection.TypeText(s1);
  WordApp.Selection.TypeText(Edit1.Text);
  s2:='Фамилия:';
  WordApp.Selection.TypeText(s2);
  WordApp.Selection.TypeText(Edit2.Text);
  s3:='Отчество:';
  WordApp.Selection.TypeText(s3);
  WordApp.Selection.TypeText(Edit3.Text);
  s4:='Название организации:';
  WordApp.Selection.TypeText(s4);
  WordApp.Selection.TypeText(Edit4.Text);
  WordApp.Selection.TypeText(Form1.RichEdit1.Text);
  WordApp.Visible:=true;
  WordApp.ActiveWindow.Caption:='Отчёт';
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2018, 10:12
Помогаю со студенческими работами здесь

Копирование содержимого word в word из Excel с макросом
Ребят, добрый вечер! Подскажите,. пожалуйста, мне надо по сути создать копию документа WORD из Excel и работать с копией. Я указываю...

Сохранение содержимого richedit в переменную вместе с настройками шрифта
Доброго времени суток. Есть программка, работает хорошо, но есть неувязочка. В процессе работы программы в richedit записывается...

Экспорт содержимого из qtreewidget в qtablewidget
Всем привет! Хочу в программе перенести все содержимое из qtreewidget в qtablewidget. Как это реализовать на примере одного айтема (4...

Экспорт содержимого почтового ящика в pst-файл
Доброго времени суток! Требуется помощь коллективного разума. Имеем Office 365, т.е. exchange online 2016. Задача: Экспортировать...

Экспорт содержимого трех TEdit в таблицу файла odt
Имеется вот такая простая программка (скрин1). Вводим два числа и третьем получаем результат расчета по нажатию кнопки «сложить». В...


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

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

Новые блоги и статьи
Шаблоны и протоколы для создания устойчивых микросервисов
ArchitectMsa 19.04.2025
Микросервисы — архитектурный подход, разбивающий сложные приложения на небольшие, независимые компоненты. Вместо монолитного гиганта, система превращается в созвездие небольших взаимодействующих. . .
Изменяемые и неизменяемые типы в Python
py-thonny 19.04.2025
Python славится своей гибкостью и интуитивной понятностью, а одна из главных его особенностей — это система типов данных. В этом языке все, включая числа, строки, функции и даже классы, является. . .
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru