Como detectar comprimento/visibilidade/estouro real do texto?

Como detectar comprimento/visibilidade/estouro real do texto?

Para fins de qualidade/integridade dos dados, tenho que garantir que todos os comentários column Cestarão visíveis na impressão: nenhum texto transbordante oculto. Largura, altura e fonte são fixas e a quebra de linha é ativada.

Até agora, defini uma validação com comprimento máximo de texto (100 caracteres no meu caso). Frases padrão e coisas do Lorem ipsum cabem bem na célula, mas outro usuário descobriu que seus 100 caracteres estão parcialmente ocultos.

Na verdade, 100 de "W" não cabem - apenas aproximadamente 30. Mas um comprimento máximo de texto de 30 caracteres é muito curto.

Como posso detectar o comprimento real do texto ou sua visibilidade ou se está transbordando?

Alguma outra ideia?

Editar

  • A fonte Monotype funciona perfeitamente. Mas como o comentário ocupa muito mais espaço, preferi a segunda opção
  • Usei o truque de Jean-François Corbett emComo detectar valores que não cabem nas células do Excel, usando VBA?: verificando se autofitamplia linha ou coluna e restaurando o tamanho inicial. Desta forma, são aceitas no máximo 3 linhas de comentários. O retorno de carro Alt + Enter também é levado em consideração.

    '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 
    

Muito obrigado !

Responder1

Não creio que exista uma resposta perfeita, mas uma solução alternativa pode ser -

  • Defina sua validação para 100 caracteres
  • Defina a largura da coluna de comentários para caber em 100 dos caracteres mais largos que você puder encontrar na fonte que está usando. Talvez seja o personagem W... talvez seja outra coisa - tentativa e erro são seus amigos
  • Defina a largura máxima da página de impressão para no máximo 1 página. O comprimento máximo da página não importa... deixe em branco ou aumente, como 999, dependendo da sua versão do Excel

Isso significa que sua planilha pode não caber em apenas uma tela... seus usuários podem precisar rolar um pouco para a direita... e você pode ter um pouco mais de espaço em branco na sua impressão do que gostaria, mas se a impressão for sua prioridade - como parece - isso deve funcionar sempre.

informação relacionada