Excel: O VBA informa a largura da forma diferente quando o mesmo arquivo é aberto em computadores diferentes

3

Estou coçando minha cabeça porque. Ambos os computadores estão executando o Win7 pro de 64 bits e a mesma versão do Excel (Versão 1708, Build 8431.2236). Existem 8 imagens inseridas na planilha. Isso é o que eu usei para relatar a largura da imagem:

    For Each p In ActiveSheet.Shapes
        MsgBox ("TL row: " & p.TopLeftCell.Row & ", TL column: " & p.TopLeftCell.Column & " ,image width: " & p.Width)

Aqui está o que eu tenho nos dois computadores:

    computer 1                        computer 2
    14, 1, 72                         14, 1, 73.2
    157, 4, 379.5                     157, 4, 386.4
    182, 4, 379.5                     182, 4, 386.4
    208, 4, 379.5                     208, 4, 386.4
    234, 4, 379.5                     234, 4, 386.4
    260, 4, 379.5                     260, 4, 386.4
    286, 4, 379.5                     286, 4, 386.4
    418, 5, 198                       418, 5, 201.6

Eu entendo que pode não haver uma "resposta" para minha pergunta vaga. No entanto, qualquer pista / ideia seria apreciada!

    
por xyk 03.04.2018 / 18:35

1 resposta

1

Um ponto é uma medida abstrata que tenta regularizar pixels e redimensionar em uma métrica mais real. (veja a Atualização 1 abaixo)

Um pixel é uma construção física em sua tela com tamanho e formato definidos e reais.

O escalonamento é uma maneira de adequar os aplicativos a tamanhos utilizáveis em LCDs de preferência de resolução nativa.

O problema que você está enfrentando é que o Excel provavelmente está usando Pontos para determinar o tamanho de um determinado objeto, e em diferentes telas com diferentes resoluções e diferentes configurações de escala, o tamanho de um ponto pode variar e, portanto, o layout do gráfico ou objeto também flutuará.

Existem maneiras de definir o tamanho dos elementos no Excel usando medidas empíricas, mas elas podem simplesmente reverter o problema e não resolvê-lo.

UPDATE 1: Eu posso estar incorreto sobre os pontos. Excel parece usar pontos "PostScript", que são uma medida empírica 1/72 de polegada. Pontos são usados em outros sistemas de design de tela da maneira que descrevi acima. O problema raiz é efetivamente o mesmo: o Excel está tentando fazer o melhor possível, em diferentes telas, resoluções e escalonamentos, para que as coisas funcionem corretamente.

Para leituras adicionais: link
="https://superuser.com/questions/165738/how-to-make-cells-perfect-squares-in-excel"> Como criar quadrados perfeitos de células no Excel?
link

    
por 03.04.2018 / 20:57