Excel:在不同的计算机上打开同一文件时,VBA会报告不同的形状宽度


3

我为什么要挠头。两台计算机都运行Win7 pro 64位,以及相同版本的Excel(版本1708,Build 8431.2236)。电子表格中插入了8个图像。这就是我用来报告图像宽度的方法:

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

这是我在两台计算机上得到的:

    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

我理解我的模糊问题可能没有“答案”。但是任何线索/想法将不胜感激!


1
它是完全相同的文件吗? ,或者您是将形状从一个工作表复制/粘贴到另一个工作表?,excel中的形状可以“锚定”到单元格大小,当使用不同的缩放从一个工作表复制到另一个工作表时,excel不会执行精确复制。
arana

这两台电脑使用什么屏幕/显示分辨率?
nixda

@arana是完全相同的文件,没有涉及复制/粘贴。
xyk

@nixda我的是1920 x 1080双。我需要追踪我的同事,他在场上很多 - 你认为这可能是一个原因吗?
xyk

显示器的分辨率(也可能是缩放)几乎肯定是这里的罪魁祸首。
music2myear

Answers:


1

一个 是一种抽象的测量方法,试图在更真实的度量标准中规范像素和缩放。 (见下面的更新1)

一个 像素 是一个屏幕上的物理结构,具有明确和真实的大小和形状。

缩放 是一种在原生分辨率偏好的LCD上使应用程序适合可用尺寸的方法。

您遇到的问题是Excel可能使用Points来确定给定对象的大小,并且在具有不同分辨率和不同缩放设置的不同显示器上,点的大小可能会有所不同,因此也可能是图表或对象的布局也会波动。

有些方法可以使用经验测量来定义Excel中元素的大小,但这些方法可能只是扭转了问题,而不是解决问题。

更新1: 关于积分我可能不正确。 Excel似乎使用“PostScript”点,这是一个1/72英寸的经验测量值。以上述方式在其他屏幕设计系统中使用点。根本问题实际上是相同的:Excel正在尝试在不同的屏幕,分辨率和缩放中尽力而为,以使事情正常工作。

如需额外阅读:
https://forums.techguy.org/threads/units-used-in-excel.178564/
如何在Excel中制作细胞完美正方形?
http://dailydoseofexcel.com/archives/2004/06/01/column-widths-in-points/


我仍然在努力解决这个问题,如果已经存在真实的世界测量值(例如英寸),以及像素,那么像“点”这样的东西有什么优势。但我现在肯定知道为什么我现在遇到的问题比你们之前的帮助要多。谢谢!
xyk

答案已更新。
music2myear
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.