Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Word互操作中的C#行距_C#_Ms Word_Office Interop - Fatal编程技术网

Word互操作中的C#行距

Word互操作中的C#行距,c#,ms-word,office-interop,C#,Ms Word,Office Interop,我正在尝试创建一个word文档,其中行距设置为“无间距”或单间距。我真的不知道为什么这么难 我尝试了所有这些例子,但都不走运: Paragraph para1 = document.Content.Paragraphs.Add(ref missing); para1.LineSpacingRule = WdLineSpacing.wdLineSpaceExactly ; para1.LineSpacing = 1; para1.Format.SpaceBefore = 5; para1.Form

我正在尝试创建一个word文档,其中行距设置为“无间距”或单间距。我真的不知道为什么这么难

我尝试了所有这些例子,但都不走运:

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = WdLineSpacing.wdLineSpaceExactly ;
para1.LineSpacing = 1;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe" + Environment.NewLine + "Address" + Environment.NewLine + "Anytown, AnyCity  12345";

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle ;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe" + Environment.NewLine + "Address" + Environment.NewLine + "Anytown, AnyCity  12345";

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = <tried them all> ;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe\rAddress\rAnytown, AnyCity  12345";

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = <tried them all> ;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe\rnAddress\rnAnytown, AnyCity  12345";
para1段=文件.内容.段落.添加(缺少参考);
para1.LineSpacingRule=WdLineSpacing.wdlinespace;
para1.linespace=1;
para1.Format.SpaceBefore=5;
para1.Format.SpaceAfter=0;
para1.Range.Font.Name=“Times New Roman”;
para1.Range.Font.Size=12;
para1.Range.Text=“John Doe先生”+Environment.NewLine+“地址”+Environment.NewLine+“任何城镇,任何城市12345”;
段落1=文件内容段落添加(参考缺失);
para1.LineSpacingRule=WdLineSpacing.wdLineSpaceSingle;
para1.Format.SpaceBefore=5;
para1.Format.SpaceAfter=0;
para1.Range.Font.Name=“Times New Roman”;
para1.Range.Font.Size=12;
para1.Range.Text=“John Doe先生”+Environment.NewLine+“地址”+Environment.NewLine+“任何城镇,任何城市12345”;
段落1=文件内容段落添加(参考缺失);
para1.LineSpacingRule=;
para1.Format.SpaceBefore=5;
para1.Format.SpaceAfter=0;
para1.Range.Font.Name=“Times New Roman”;
para1.Range.Font.Size=12;
para1.Range.Text=“约翰·多伊先生\radress\rAnytown,安尼城12345”;
段落1=文件内容段落添加(参考缺失);
para1.LineSpacingRule=;
para1.Format.SpaceBefore=5;
para1.Format.SpaceAfter=0;
para1.Range.Font.Name=“Times New Roman”;
para1.Range.Font.Size=12;
para1.Range.Text=“John Doe先生\r地址\r任何城市,任何城市12345”;
我显然遗漏了一些东西,因为每个例子的结果都完全相同。地址的每一行之间都有额外的间隔


有人知道怎么做吗?

Danel A.White来营救

使用,答案是使用“垂直标签”。直到现在我才听说过他们

因此,将“\r\n”替换为“\v”非常有效

    Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe\vAddress\vAnytown, AnyCity  12345";

你在使用哪个库?Microsoft.Office.Interop.Word,runtime v2.0.50727我可能在这里找错了方向,因为我的Office.Interop技能真的很差,但是一行新词不就是一个新段落吗?因此,通过在段落文本中添加新行,当在Word中显示时,它将这些段落视为单独的段落,因此空格before和空格after生效?如果我错了就打我一巴掌。更新:看到可能是这样,但我已经尝试将“SpaceBefore”和“SpaceAfter”属性设置为零。还是不行,是的!你的链接有答案。使用“\v”而不是“\r”或“\n”成功了。非常感谢。Word中的“垂直选项卡”称为手动换行符,可以通过键入
Shift+Enter
将其插入文档中。