/// <summary> /// 本文の改訂箇所に改訂線を引く。 /// </summary> /// <param name="pos">改訂箇所</param> protected override void addLine(RevPos pos) { //改訂箇所のレンジを選択する。(選択しないと線が引けない。) pos.fRange.Select(); //改訂線を引く。 Word.Shapes shapes = pos.fRange.Document.Shapes; paintLine(pos, shapes); }
/// <summary> /// 本文の改訂箇所に改訂線を引く。 /// </summary> /// <param name="pos">改訂箇所</param> protected override void addLine(RevPos pos) { foreach (Word.Section wordSection in pos.fRange.Sections) { //改訂箇所のレンジを選択する。(選択しないと線が引けない。) pos.fRange.Select(); //改訂線を引く。 Word.Shapes shapes = wordSection.Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Shapes; paintLine(pos, shapes); } }
/// <summary> /// 指定された改訂箇所に改訂線を引く。 /// </summary> /// <param name="pos">改訂箇所</param> /// <param name="shapes">改訂線を引くシェイプ</param> protected static void paintLine(RevPos pos, Word.Shapes shapes) { float left = pos.fRange.Document.PageSetup.PageWidth - pos.fRange.Document.PageSetup.RightMargin + 10.0F; //改訂線追加 Word.Shape line = shapes.AddLine(left, pos.fStart.fHeight, left, pos.fEnd.fHeight); line.Line.ForeColor.RGB = System.Drawing.Color.Black.ToArgb(); //改訂記号追加 Word.Shape textBox = shapes.AddTextbox( Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, left, pos.fStart.fHeight, 20, 20); textBox.Line.Visible = Microsoft.Office.Core.MsoTriState.msoFalse; textBox.Fill.Visible = Microsoft.Office.Core.MsoTriState.msoFalse; textBox.TextFrame.TextRange.Text = fRevMark; textBox.TextFrame.TextRange.Font.ColorIndex = Word.WdColorIndex.wdBlack; }
protected abstract void addLine(RevPos pos);
public void add(RevPos pos) { fPosition.Add(pos); }