如何检测文本的实际长度/可见性/溢出?

如何检测文本的实际长度/可见性/溢出?

出于质量/数据完整性考虑,我必须确保所有注释在column C打印时都可见:没有隐藏的溢出文本。宽度、高度和字体是固定的,并且已激活自动换行。

到目前为止,我设置了文本长度上限验证(我的情况是 100 个字符)。标准句子和 Lorem ipsum 内容可以很好地放入单元格中,但另一位用户发现他的 100 个字符部分被隐藏了。

确实,100 个“W”放不下——只有大约 30 个。但 30 个字符的最大文本长度太短了。

我如何检测文本的实际长度或其可见性或是否溢出?

还有其他想法吗?

编辑

  • Monotype 字体效果很好。但由于评论占用的空间太大,我更喜欢第二种选择
  • 我使用了 Jean-François Corbett 的技巧如何使用 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 版本

这意味着您的电子表格可能无法在一个屏幕上显示完整...您的用户可能需要向右滚动一点...并且您的打印输出中可能会有比您想要的更多的空白,但如果打印是您的首要任务 - 看起来是这样 - 这应该每次都有效。

相关内容