Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Импорт активного документа Word

Delphi , Технологии , OLE Automation MSOffice



Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> 
Импортирует текст активного документа Word в объект класса TStrings
(без форматирования). Если при открытом Worde результат отрицательный -
рекомендуется перезапустить приложение, поскольку дальнейшие вызовы
функции в подавляющем большинстве случаев будут приводить к ошибке

Зависимости: OleServer, Word97
Автор:       Dimka Maslov, mainbox@endimus.com, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        6 февраля 2004 г.
***************************************************** }

function ImportWordActiveDocument(Strings: TStrings): Boolean;
var
  Word: TWordApplication;
  Start, End_: Integer;
begin
  Result := True;
  try
    Word := TWordApplication.Create(nil);
    try
      Word.AutoConnect := False;
      Word.AutoQuit := False;
      Word.ConnectKind := ckRunningInstance;
      Word.Connect;
      Start := Word.Selection.Get_Start;
      End_ := Word.Selection.Get_End_;
      Word.Selection.SetRange(0, $7FFFFFFF);
      Strings.Text := Word.Selection.Text;
      Word.Selection.SetRange(Start, End_);
      Word.Disconnect;
    finally
      Word.Free;
    end;
  except
    Result := False;
  end;
end;

// Пример использования:
if not ImportWordActiveDocument(Memo1.Lines) then
  ShowMessage('Error');

Это код-snippet на языке Delphi, который импортирует текст из активного документа Microsoft Word в объект TStrings без форматирования. Вот подробное описание кода:

Импорты и зависимости Код импортирует два модуля: OleServer и Word97. Эти модули необходимы для взаимодействия с Microsoft Word с помощью OLE (Object Linking and Embedding).

Функция ImportWordActiveDocument Функция принимает объект TStrings в качестве входного параметра, который будет использоваться для хранения импортированного текста. Функция возвращает булевое значение, указывающее, была ли импорта успешной.

Переменные и инициализация Функция инициализирует два целочисленных переменных: Start и End_, которые будут использоваться для определения диапазона текста, который нужно извлечь из документа Word. Переменная Result инициализируется значением True, что указывает на то, что импорта будет успешной до тех пор, пока не будет доказано обратное.

Создание экземпляра приложения Word Код создает экземпляр класса TWordApplication с помощью метода Create, передавая nil в качестве первого параметра (который не используется).

Настройка приложения Word Код настраивает несколько свойств приложения Word:

  • AutoConnect: установлено в False, что означает, что приложение не будет автоматически подключаться к существующему экземпляру Microsoft Word.
  • AutoQuit: установлено в False, что означает, что приложение не будет закрываться после выполнения задачи.
  • ConnectKind: установлено в ckRunningInstance, что указывает на то, что приложение должно подключиться к работающему экземпляру Microsoft Word (если он доступен).
  • Connect: вызывает метод Connect, который устанавливает соединение с работающим экземпляром Word.

Извлечение текста из документа Word Код использует свойство Selection приложения Word для получения начальной и конечной позиций выделенного текста в документе. Затем он задает диапазон выбора с помощью метода SetRange, извлекает текст с помощью свойства Text и хранит его в объекте TStrings.

Очистка Код вызывает метод Disconnect для отключения приложения Word, а затем освобождает экземпляр с помощью метода Free. Это обеспечивает правильное освобождение ресурсов, используемых приложением Word.

Обработка ошибок Функция использует блок try-except для ловли любых ошибок, которые могут возникнуть во время процесса импорта. Если возникает ошибка, переменная Result устанавливается в False, что указывает на то, что импорта не была успешной.

Пример использования Код включает пример использования функции ImportWordActiveDocument: он вызывает функцию с объектом TStrings (например, Memo1. Lines) в качестве входного параметра и проверяет, является ли результат True. Если результат равен False, он отображает сообщение об ошибке.

Функция ImportWordActiveDocument импортирует текст активного документа Microsoft Word в объект класса TStrings без форматирования, если при открытом Worde результат отрицательный, то рекомендуется перезапустить приложение.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: OLE Automation MSOffice ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 05:05:51/0.025121927261353/1