名前と数値を含むフォームにListViewがあり、MSWord文書に文書の表に埋め込まれたデータを印刷する必要があります。すべて英語の文字でうまく動作しますが、東ヨーロッパやロシアの文字を送信しようとすると、ドキュメントに「?」と表示されます。いくつかの「ごみ」があります。また、私はそれらの文字をアプリケーションからアプリケーションに戻すことができません。Delphi 7を使用してMSWord 2003からローカル文字を読み書きする方法は?
私の質問は以下のとおりです。
- Word文書に
"ЉЊĐŠŽČ"
のような文字を送信するためにどのように? - これらの文字をMSWordからアプリケーションに戻すにはどうすればいいですか?要するに
、コードは次のようになります。
word := CreateOleObject('Word.Application');
word.Visible := true;
doc := word.documents.Open(ExtractFilePath(Application.ExeName) + '\tpl.doc');
table := word.ActiveDocument.Tables.Item(1);
table.Cell(1,2).Range.Text := 'MY TEXT';
word.ActiveDocument.Close;
word.Quit;
word := UnAssigned;
doc := UnAssigned;
table := UnAssigned;
私は、フォントのname
、size
とcolor
プロパティを変更することができますが、charset
プロパティでそれを行うことはできません。
誰か?
ソフトウェアインストール:この問題は、あなたがしているという事実から来ている
- のWindows XP Professionalの
- のMicrosoft Word 2003の
- デルファイ7のEnterprise Edition
まあ、興味深いですが、WideStringについて考えたことはありませんが... line 'tmp:= 'ЉЊĐŠČ';' .pasファイルに保存できません( "ЉЊĐ"は "?"、 "ŠŽ"はOK、 "Č "は" C( ")になります。私は貯蓄を試みました。あなたの努力に感謝します – Wh1T3h4Ck5
このような定数について、Delphi 7 IDEは現在のシステムコードページAFAIKのみを使用しています。あなたのシステムの現在のコードページはそれらの文字を扱うことができます。そのような定数の場合は、#$ 005f#$ 20A1構文などでUnicode文字を手元に変換する必要があります。プログラムの起動時にロードしてください。 –
まったく!ありがとう、たくさんの男! – Wh1T3h4Ck5