Wordの文書には、キーボードにはない特殊記号や図形文字を入力することができます。今回はSpire.Doc for .Net という無料のライブラリを利用して、Wordで記号を追加・削除する方法を紹介していきます。
下準備
1.E-iceblueの公式サイトからFree Spire.Doc for .NET無料版をダウンロードしてください。
2.Visual Studioを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいDoc.dllを参照に追加してください。(Net 4.0を例としたら、デフォルトパスは“Bin→NET4.0→Spire.Doc.dll”というようです。)
記号を追加
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");
}
}
}
実行結果
記号を削除 (メールの記号を例に)
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);
実行結果