LoginSignup
0
0

More than 1 year has passed since last update.

C# Wordで特殊記号を追加・削除  

Posted at

Wordの文書には、キーボードにはない特殊記号や図形文字を入力することができます。今回はSpire.Doc for .Net という無料のライブラリを利用して、Wordで記号を追加・削除する方法を紹介していきます。

下準備

1.E-iceblueの公式サイトからFree Spire.Doc for .NET無料版をダウンロードしてください。

f:id:lendoris:20210721154816p:plain

2.Visual Studioを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいDoc.dllを参照に追加してください。(Net 4.0を例としたら、デフォルトパスは“Bin→NET4.0→Spire.Doc.dll”というようです。)

f:id:lendoris:20210721154822p:plain

記号を追加

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            //Document objectを作成します。
            Document doc = new Document();
            //Section対象を追加します。
            Section sec = doc.AddSection();

            //sectionに段落を追加します。
            Paragraph p = sec.AddParagraph();
            p.AppendText("チェックマークです→");

            //段落の末尾をチェックマークの記号を追加します。この記号の16進コードは\u0052です
            //十進コード(char)82).ToString()で表示してもいいです。


            //TextRange tr=p.AppendText("\u0052");
            TextRange tr = p.AppendText(((char)82).ToString());

            //フォントを設定します。Wordで記号のフォントを参照ていいです。ここはWingdings2です。
            tr.CharacterFormat.FontName = "Wingdings 2";

            //新しい段落を追加し、メールの記号をいれます。
            Paragraph p1 = sec.AddParagraph();
            p1.AppendText("メールです→");
            //TextRange tr1 = p1.AppendText("\u002A");
            TextRange tr1 = p1.AppendText(((char)42).ToString());
            tr1.CharacterFormat.FontName = "Wingdings";

            //新しい段落を追加し、笑顔の記号をいれます。
            Paragraph p2 = sec.AddParagraph();
            p2.AppendText("笑顔です→");
            //TextRange tr2 = p2.AppendText("\u004A");
            TextRange tr2 = p2.AppendText(((char)74).ToString());
            tr2.CharacterFormat.FontName = "Wingdings";

            //保存します。
            doc.SaveToFile("記号を追加.docx");

        }
    }
}

実行結果

f:id:lendoris:20210722121704p:plain

記号を削除 (メールの記号を例に)

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

// Document objectを作成します。
 Document doc = new Document();
 //ファイルをロードします。
 doc.LoadFromFile("特殊記号.docx");

 //FindStringメソッドでメールの記号を探します。
 TextRange tr = doc.FindString("\u002A", true, true).GetAsOneRange();

 //TextRangeにあったところを発見し、このTextRangeを削除します。
 Paragraph p = tr.OwnerParagraph;
 p.ChildObjects.Remove(tr);

 //保存します。
 doc.SaveToFile("test.docx", FileFormat.Docx2013);

実行結果

f:id:lendoris:20210722121857p:plain

 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0