私は主にMS Wordオートメーションの目的のためにC#の学習を始めました。 Interop.Wordを使用して、どのように2つのイタリック体で単語 "1 2 3"を含む行を追加できますか?私が得ることができる最も近いものは、次のようなものです。Interop.Wordのイタリックインラインワード
私が必要とする方法については、私は多くのことを試みましたが、どれも働いていませんでした。 MSDNのドキュメントは非常に読みにくく、多くの重要な詳細は省略しています。
EDIT:最終的には、すべての単語に対して新しい範囲オブジェクトを作成することで、効果を上げました。これは私が想像と同じくらい醜いですが、少なくともとして、それは動作します:
Word.Range rng = word_doc.Range(para.Range.End - 1, para.Range.End);
rng.Text = "one ";
Console.WriteLine(rng.Start);
Console.WriteLine(rng.End);
rng = word_doc.Range(rng.End - 1, rng.End);
rng.Text = "two";
rng.Font.Italic = 1;
Console.WriteLine(rng.Start);
Console.WriteLine(rng.End);
rng = word_doc.Range(rng.End - 1, rng.End);
rng.Text = " three";
rng.Font.Italic = 0;
Console.WriteLine(rng.Start);
Console.WriteLine(rng.End);
para.Range.InsertParagraphAfter();
うわー、 'para.Range.Font.Italic = 1;'はそれを行うべきですが、それはどうやって動作するのでしょうか? 'Console.WriteLine'を使用して、イタリック体としてのテキストを表示しません...あなたはそれを認識していますか? –
問題が何であるかは不明です。あなたのコードは 'Console.WriteLine'以外の部分は' Word'とは関係がありません。 –
Console.WriteLineは単純なログ用です。上記のコードが意図したとおりに動作しない場合、「3」だけが出力されます。 「1」と「2」は無効になります。 – user2341726