use*_*368 5 c# interop word-2010
我需要帮助,使用word interop和c#在一个word文档中添加一个制表位(1cm位置).这是我已经尝试过的.
Range range = paragraph.Range;
int firstTabStart = range .Start;
range .SetRange(firstTabStart, firstTabStart);
range .Paragraphs.TabStops.Add(5, WdTabAlignment.wdAlignTabRight);
Run Code Online (Sandbox Code Playgroud)
当我打开我的word文档时,我看不到任何制表位.但是,我可以使用插入标签对齐
range .InsertAlignmentTab((int)WdAlignmentTabAlignment.wdCenter,
(int)WdAlignmentTabRelative.wdMargin);
Run Code Online (Sandbox Code Playgroud)
虽然,这些选项卡是绝对的,我无法在word文档中编辑它们.
请帮忙.
我无法重现您遇到的问题,但我粘贴了我测试过的代码,以便您可以查看它与您现有的代码是否有任何不同。
在每种情况下,我都看到标尺上 1 厘米和 2 厘米处出现制表位:
paragraphs.TabStops代替range.Paragraphs.TabStopsWdTabLeader在方法中传递第三个参数TabStops.Add。这是在 Word 2010 中完成的
class Start
{
public static void Main()
{
// Open a doc file.
Application application = new Application();
Document document = application.Documents.Open(@"C:\Users\mmonkan\Documents\word.docx");
Paragraphs paragraphs = document.Paragraphs;
Paragraph paragraph = paragraphs[1];
Range range = paragraph.Range;
range.SetRange(0, 0);
range.Paragraphs.TabStops.Add(28, WdTabAlignment.wdAlignTabRight);
range.Paragraphs.TabStops.Add(56, WdTabAlignment.wdAlignTabRight);
// Close word.
application.Quit(WdSaveOptions.wdSaveChanges);
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
