2016-04-08 95 views
0

我填一個表格單元格一行行用一個RichTextBox的內容與此代碼:在C#中刪除Word文檔中的段落之間行距

int length = richTextBoxes[0].Lines.Length; 
for (int index = 1; index < length; index++) { 
    table.Cell(3, 2).Range.Text += richTextBoxes[0].Lines[index].ToString(); 
} 

但它粘貼文本之前自動傳遞一個奇怪的行,每行之間的段落之間有這麼大的間距,我想知道是否有可能刪除它。

謝謝

+0

當我重新讀這個時,我發現你看到的問題可能是由於應用於表格的* style *造成的。如果是這種情況,那麼將效率更高(並且從Word POV中更正),以將正確樣式應用於表/單元格,而不是直接應用格式。 (也加入了這個到我的「答案」) –

+0

你最後的回答對我來說足夠好,但這可能會幫助其他人!所以,謝謝 – UnderPaidIntern

回答

0

若要更改文本單元段落的行距:

table.Cell(3,2).Range.Paragraphs.LineSpacing 

如果沒有,你應該使預期的效果肯定行距的問題,而不是一些字符碼字ISN沒有處理你期望的方式。 在表格單元格中輸入行,而不按Enter鍵,看看它們是否展現出與您在代碼中看到的行爲相同的行爲。如果沒有,那麼你的代碼是導入你需要「切斷」的東西...

你看到的問題可能是由於風格適用於表。如果是這種情況,那麼將效率更高(並且從Word POV中更正),以將正確樣式應用於表/單元格,而不是直接應用格式。

0

我相信你正在使用Microsoft.Office.Interop.Word組裝?

如何設置LineSpacingParagraph接口?這是一個浮動類型。

它可以在LineSpacingRule之後設置屬性設置爲以下值之一:wdLineSpaceAtLeast,wdLineSpaceExactlywdLineSpaceMultiple

我希望它有幫助。

+0

是的,我使用的是Interop.Word。非常感謝Alex,但document.Paragraphs.LineSpacing適用於整個文檔,不是嗎?是否只有特定表格單元的解決方案? – UnderPaidIntern

+0

@UnderPaidIntern你不能得到一個特定段落的實例嗎?就像在Word中一樣,您可以爲給定的段落設置行間距。你應該可以在代碼中做同樣的事情。順便說一句酷暱稱 – Alex

+1

謝謝,我設法找到解決方案! – UnderPaidIntern