0

您好,有可能使用图书馆。用 Delphi XE2 上网?这是http://docx.codeplex.com/此处提供的库 DocX.dll 。提前致谢。

4

1 回答 1

0
using (DocX document = DocX.Load("Test.docx"))
{
   document.ReplaceText("pear", "banana", true, RegexOptions.IgnoreCase);
  document.Save();
}

德尔福:

    var
      Host: TJclClrHost;
      Obj: OleVariant;
      Assm: _Assembly;
      T: _Type;
      Params1: Variant;
      params2:Variant;

    begin
      Host := TJclClrHost.Create('v4.0.30319');
      Host.Start;
      Assm := Host.DefaultAppDomain.Load_2('DocX');
      T := Assm.GetType_2('Novacode.DocX');
    //  Obj:=T.InvokeMember_3('', BindingFlags_CreateInstance, nil, null, nil);
      Params1 := VarArrayOf(['sample.docx']);
      obj:=T.InvokeMember_3('Load', BindingFlags_InvokeMethod, nil, null, PSafeArray(VarArrayAsPSafeArray(Params1)));
      Params2 := VarArrayOf(['Before','After']);
      t.InvokeMember_3('ReplaceText', BindingFlags_InvokeMethod, nil, Obj, PSafeArray(VarArrayAsPSafeArray(Params2)));
      t.InvokeMember_3('Save', BindingFlags_InvokeMethod, nil, Obj, nil);
      Host.Stop;
end;

t.InvokeMember_3('ReplaceText',.....生成错误:方法“Novacode.DocX.ReplaceText”不存在。我不能调用方法ReplaceText(因为它是继承方法?)

于 2013-09-26T22:15:40.290 回答