![如何偵測文字的真實長度/可見性/溢出?](https://rvso.com/image/1520717/%E5%A6%82%E4%BD%95%E5%81%B5%E6%B8%AC%E6%96%87%E5%AD%97%E7%9A%84%E7%9C%9F%E5%AF%A6%E9%95%B7%E5%BA%A6%2F%E5%8F%AF%E8%A6%8B%E6%80%A7%2F%E6%BA%A2%E5%87%BA%EF%BC%9F.png)
出於品質/資料完整性的目的,我必須確保column C
列印中的所有註釋都可見:沒有隱藏的溢出文字。寬度、高度和字體是固定的,並且自動換行被啟動。
到目前為止,我設定了最大文字長度的驗證(在我的例子中為 100 個字元)。標準句子和 Lorem ipsum 內容適合單元格,但另一位用戶發現他的 100 個字元部分隱藏。
事實上,100 個“W”不適合 - 大約只有 30 個。但 30 個字元的最大文字長度太短了。
如何偵測文字的實際長度或其可見性或是否溢出?
還有其他想法嗎?
編輯
- Monotype 字體效果完美。但由於評論佔據了更多空間,我更喜歡第二個選擇
我用了讓-法蘭索瓦·科貝特的伎倆如何使用 VBA 偵測不適合 Excel 儲存格的值?:檢查是否
autofit
放大行或列,然後恢復初始大小。這樣,最多接受 3 行評論。回車符Alt + Enter
也被考慮在內。'Check previous cells If Cell.Column = 10 Then 'check the comments column Hauteur_ligne = Cell.RowHeight Cell.EntireRow.AutoFit If Cell.RowHeight > Hauteur_ligne Then Cell.Interior.ThemeColor = xlThemeColorAccent2 'Red for rejected comment Saisie_Valide = False 'Validity flag Else Cell.Interior.ThemeColor = xlThemeColorAccent3 'Green for accepted comment End If Cell.RowHeight = Hauteur_ligne 'end of sub, alert message
太感謝了 !
答案1
我不認為有任何完美的答案,但解決方法可能是 -
- 將驗證設定為 100 個字符
- 將註解欄的寬度設定為適合您正在使用的字體中可以找到的最寬字元的 100 個。也許是 W 角色……也許是別的東西 - 嘗試和錯誤是你的朋友
- 將最大列印頁寬度設定為最多 1 頁。最大頁面長度並不重要...要么將其留空,要么將其調大,例如 999,具體取決於您的 Excel 版本
這意味著您的電子表格可能無法僅在一個螢幕上顯示...您的用戶可能需要向右滾動一點...並且您的列印輸出中的空白區域可能比您希望的多一點,但如果列印是您的首要任務- 看起來如此 - 這應該每次都有效。