看板 Office 關於我們 聯絡資訊
軟體:Word 版本:2016 我在寫Word VBA遇到一個問題,但百思不得其解 我有很多表格需要設定成共同格式,其中整張表格的欄寬必須設為定值, 若欄位中文字過程,則以自動換列處理, 換言之,表格欄寬必須優先統一,若儲存格中文字過長導致行高不一致則沒關係 然而,Word VBA的表格寬度設定好像是以儲存格中文字為優先, 也就是,即便我表格固定寬度設為定值, 一旦Word發現儲存格文字過長時,Word仍會以儲存格欄寬為優先,而後才調整表格寬度 以下我設定的是,將每個儲存格的自動換列設為真,再調整表格為一固定寬度 結果很失望,所有我刻意輸入一長串文字的儲存格,都仍持一列的狀態, 並未在儲存格內自動換列成第二列、第三列 即使我點表格內容查看儲存格設定,仍可看到自動換列已勾選,卻沒發揮預期作用 唯一辦法是,我先手動將每個表格的欄寬拉到儘可能最小,讓 自動換列先發生後再執行巨集,把表格寬度放大到我想要的定值 但這樣就失去用巨集的意義,而且不可能那一堆表格都這麼搞 我希望做到的是,即使表格中某些儲存格文字很長, 但Word仍能做到「把寬的表格變窄」、「把窄的表格變寬」,而不是只能把窄的變寬而已 我用wordwrap doesn't work去網路上查,卻發現好像沒人跟我有一樣的需求 想請問,是否有辦法可以做到?或者我根本不該用cells.wordwrap這個屬性? 謝謝,以下是我寫的碼 Dim tble As Table Set tble = ActiveDocument.Tables(1) For Each Cell In tble.Range.Cells Cell.WordWrap = True Next tble.PreferredWidth = CentimetersToPoints(5) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.109.195 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1543924523.A.76D.html
soyoso: 表格選項內選項,自動調整成內容大小(勾選取消) 12/04 23:35
soyoso: 於迴圈上方以 tble.allowautofit=false 試試 12/04 23:36
liquidbox: 成功了,謝謝協 12/05 11:15
liquidbox: 助 12/05 11:16