-1 Буфер обмена принадлежит пользователю, а не вам. Вы не должны делать абсолютно ничего, что влияет на содержимое буфера обмена, если только пользователь не инициирует его (например, копирование, вырезание или вставка).

ыполнении автоматизации Word с Delphi XE у меня одновременно открываются два документа. Я хочу скопировать содержимое данного диапазона одного документа в другой диапазон в другом документе. Как я могу это сделать?

Рассмотрим следующий код:

procedure TForm1.ManipulateDocuments;
var
  vDoc1,vDoc2 : TWordDocument;
  vFilename : olevariant;
  vRange1,vRange2 : Range;
begin
  vDoc1 := TWordDocument.Create(nil);
  vDoc2 := TWordDocument.Create(nil);
  try
    vFilename := 'c:\temp\test1.doc';
    vDoc1.ConnectTo(FWordApp.Documents.Open(vFilename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));

    vFilename := 'c:\temp\test2.doc';
    vDoc2.ConnectTo(FWordApp.Documents.Open(vFilename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));

    vRange1 := GetSourceRange(vDoc1);
    vRange2 := GetDestinationRange(vDoc2);

    vRange2.CONTENTS := vRange1.CONTENTS; //What should I substitute for CONTENTS?
  finally
    vDoc1.Free;
    vDoc2.Free;
  end;
end;

Есть ли что-то, что я мог бы заменить на СОДЕРЖАНИЕ? Я не могу использовать текст, поскольку хочу скопировать форматирование, закладки, коды полей и т. Д. Нужно ли вообще делать это по-другому? Какие-либо предложения?

Ответы на вопрос(4)

Ваш ответ на вопрос