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

Add と AddRichText に関する MSDN のドキュメントを注意深く読みましたか?

Add には 2 つのパラメータがあります

  1. Name - これらのエントリの名前
  2. 値 - 自動置換テキスト

AddRichText には 2 つのパラメータもあります

  1. 名前 - 上と同じ
  2. 範囲 - 必要な置換テキストを含むドキュメント内の選択範囲

したがって、目的のテキストをドキュメント内に配置してから選択する必要があり (または、段落などの範囲で取得しようとする)、その後 AddRichText メソッドを使用できます。

于 2012-11-12T06:59:52.147 に答える