2

帮助!我正在尝试自动更正以富文本格式存储在访问数据库中的条目。如果我使用 autocorrect.entries.Add 但使用 autocorrect.entries.AddRichText 失败,它可以正常工作。看看下面的代码。我会很感激你的帮助!

procedure TfrmdxForm.acBtnClick(Sender: TObject);
var
DXRANGE, DXWORD: oleVariant;
DXSTR: STRING;

begin
DXWORD := CreateOleObject('Word.Application');
DXWORD.Visible := FALSE;
MyADODataSet.First;
while NOT MyADODataSet.Eof do
begin
DXRANGE:= MyADODataSet.FieldByName('DX').Text; 
// here is where it fails … I don't know how to change this to a range
DXSTR := MyADODataSet.FieldByName('DXCODE').Text;
DXWORD.Autocorrect.Entries.AddRichText(DXSTR, DXRANGE);
// here it works if I use Add but it fails with AddRichText
MyADODataSet.Next;
end;
DXWORD.QUIT;

end;
4

1 回答 1

2

您是否仔细阅读了 MSDN 上有关 Add 和 AddRichText 的文档?

添加有两个参数

  1. 名称 - 这些条目的名称
  2. 值 - 自动替换文本

AddRichText 也有两个参数

  1. 名称 - 同上
  2. Range - 文档内带有所需替换文本的选择范围

因此,您必须在文档中放置所需的文本,然后选择它(或尝试将其放在某个范围内,例如段落),然后您可以使用 AddRichText 方法

于 2012-11-12T06:59:52.147 回答