Word加载项选项卡

本文关键字:选项 加载项 Word | 更新日期: 2023-09-27 18:29:07

嗨,我正在寻找制作这样东西的想法:

部分文本----------------------------------------------------

这个"------"我必须在按钮上点击行尾。

我的想法是在制表符上用短划线引线,但这会产生问题,因为当我试图在这之后的文本中使用^t时,它也会产生短划线。这不能仅仅通过键入破折号来完成,因为第二个按钮将从整个文档中清除破折号。

这是我做的代码,但就像我说的那样,它不好,因为在文件的任何其他地方都是糟糕的

public void DashingSingleLane()
    {
        Word.Range rng = Globals.ThisAddIn.Application.Selection.Range;
        if (rng.Start == rng.End)
        {
            float pageWidth = classDocument.PageSetup.PageWidth - classDocument.PageSetup.LeftMargin - classDocument.PageSetup.RightMargin;

            foreach (Word.Paragraph singleParagraph in rng.Paragraphs)
            {
                if ((singleParagraph.Range.Text != "'r") && (singleParagraph.Range.Text.IndexOf("'t") == -1))
                {
                    singleParagraph.TabStops.Add(pageWidth, Word.WdTabAlignment.wdAlignTabRight, Word.WdTabLeader.wdTabLeaderDashes);
                    Globals.ThisAddIn.Application.Selection.EndKey(Microsoft.Office.Interop.Word.WdUnits.wdLine);
                    Globals.ThisAddIn.Application.Selection.TypeText("'t");
                }
            }
        }
    }

我发现,为了让它变得好,我还需要在句子末尾用左对齐的Tabstop。类似的东西

singleParagraph.TabStops.AddPosition_in_Point, Word.WdTabAlignment.wdAlignTabLeft, Word.WdTabLeader.wdTabLeaderDashes);

但我不知道如何在点中获得那个位置

我从两天起就在考虑这个问题,但我没有任何好主意。我希望有人能好好想想。

Word加载项选项卡

为了确定当前选择(或范围)的水平位置,可以使用Information属性。这获取WdInformation枚举的一个成员,该成员告诉Word返回什么值。

您可以将信息作为值从页面wdHorizontalPositionRelativeToPage的左侧返回,也可以从"文本边界"返回,该边界将是具有单列wdHorizontalPositionRelativeToTextBoundary的页面上"纯文本"(与表或其他结构相反)中的边距。

例如:

//Position is returned in POINTS, which is what TabStop uses
float selPosition = Selection.get_Information(Word.WdInformation.wdHorizontalPositionRelativeToTextBoundary);
singleParagraph.TabStops.Add(selPosition, Word.WdTabAlignment.wdAlignTabRight, Word.WdTabLeader.wdTabLeaderDashes);