2012-11-15 62 views
2

我在word文檔中生成很少的表格,其中一個表格的列數更多,所以它超出了我的文檔頁面寬度,並且其中很少的列不可見,如果我試圖設置它寬然後在表列名結束了MSWord中的表格對齊

我的目標是:

  1. 我想表到頁面自動調整無關的無 列。

  2. 列名不應總結,即列名稱 應單行顯示。

+0

1.您使用的是互操作嗎? 2.所以如果你有100個長的標題文本的列,你想要全部在一行,然後你想伸展一個頁面嗎? 3.或者你想保持你的頁面大小一致,並且標題應該溢出。如果可能的話,你能提供你試圖實現的屏幕截圖嗎 – RAS

+0

是的,即時通訊使用互操作...如果我有100個具有長標題文本的列,我希望列中的標題文本位於表中的同一行中,3)頁面大小應該是相同的..爲某些屏幕截圖而作的.. –

+0

如果標題不適合,該怎麼辦?我們是否必須減小字體大小? – RAS

回答

0

真的沒有辦法做你想做的事情,即適合文本沒有通過改變字體大小包裝。
你將不得不手動弄清楚。
最大可以做的是顯式指定標題行的高度。你可以做這樣的:

  tbl.Rows[1].HeightRule = WdRowHeightRule.wdRowHeightExactly; 
      tbl.Rows[1].Height = 14; 

現在你可以試着改變文本的字體大小,看它是否適合。這是你不幸的事情。

一個瘋狂的想法:你可以嘗試創建一個公式,將工作是這樣的:
1.獲得列寬創建表後。
2.計算標題字符串中的字符數。
3.閱讀使用的字體的規格,並找出每個字母需要多少空間,以及每個[空間]字符需要多少空間。
4.現在你有所有可用的數據來建立一個公式,看看特定單元格的點的字體大小應該是多少。您將不得不遍歷所有列來執行此操作。
5.從所有計算中選擇最小字體大小並應用於每個標題以保持一致性。
這就是說,這是一個脆弱的方法,它很可能會失敗。我懷疑你可以讓它工作得更緊密。

建議:你應該稱這個功能不可能。你不想黑字去做它不應該做的事情。

+0

使用上面提供的2行代碼,我能夠限制列名包裝並顯示他們在同一行...有沒有機會拆分表和顯示額外的列下面,我的意思是如果有10列的表,我想顯示5列在一行和另外5列以下它使桌子恰好適合頁面大小... –

+0

@colorsbright,AFAIK你不能這樣做。你應該做的是創建5列的表。然後用你的標題填寫2行。 – RAS

+0

,是拆分表可能是不可能的,所以沒有別的途徑可以顯示我的表與我的頁面中的所有列?也在你提供的代碼中oTable.Rows [1] .HeightRule = WdRowHeightRule.wdRowHeightExactly; wat是行[1],這會反映到所有表中的所有列嗎? –