【问题标题】:Save word document opened in delphi olecontainer保存在delphi olecontainer中打开的word文档
【发布时间】:2015-02-04 16:06:05
【问题描述】:

我在 ole 容器中打开了一个 word 文档。我想选择所有文本(Ctrl-A),然后不使用按键复制到剪贴板。

所需的第二个功能是能够保存对文档所做的任何更改。

【问题讨论】:

  • 进一步挖掘后,以下代码适用于保存功能。程序 TBCSWordTstC.SaveObjectToFile1Click(Sender: TObject); var vWord:变体;常量 wdFormatDocumentDefault=16; begin SaveDialog1.Title := '选择要保存的文件'; SaveDialog1.DefaultExt := '.';如果 SaveDialog1.Execute(Handle) 然后开始 vWord := OleContainer1.OleObject; vWord.SaveAs(SaveDialog1.FileName, wdFormatDocumentDefault);结尾;结束;

标签: delphi ms-word ole


【解决方案1】:

也许这段代码对你有帮助:

uses ComObj, Clipbrd;
...
var
  Word : OLEVariant;
begin
  Word := CreateOleObject('Word.Application');

  // If you do not want to see word, set it to false.
  Word.Visible := False;

  //Open the word document.
  Word.Documents.Open('C:\myDocument.doc');

  //Select all.
  Word.ActiveDocument.Select;

  //Copy to Clipboard.
  Word.ActiveDocument.Range.Copy;

  //Close the document.
  Word.ActiveDocument.Close;

  //Quit word.
  Word.Quit;

  //Free.
  Word := unassigned;

  //Now you can paste the text from clipboard.
  Memo1.PasteFromClipboard;
end;

【讨论】:

  • ActiveDocument 无法识别。该文档是使用 Ole Container 激活的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多