gpt4 book ai didi

c++ - 获取 excel 单元格的大小(以像素为单位)

转载 作者:太空狗 更新时间:2023-10-29 20:47:22 25 4
gpt4 key购买 nike

我正在尝试以编程方式(C++ 但 VBA 解释没问题)获取 excel 单元格的大小(以像素为单位)。 excel 应用程序 gui 将单元格的大小显示为:
宽度:8.28(160 像素) 高度:24.6(41 像素),字体为 Arial 20 pt。

使用 excel 范围我可以获得:
列宽:8.3,行高:24.6
范围宽度:96,范围高度24.6

我尝试对上述所有值使用 PointsToScreenPixelsX 和 PointsToScreenPixelsY,但它们返回的值与 excel gui 所说的不匹配(396 行/单元格高度,136 为列宽,224 为列宽)。

有什么想法吗?

最佳答案

从点到像素的转换取决于您的 DPI 设置。一英寸有 72 个点,所以如果你有 96 个点,那就是 4/3 英寸。如果您的 DPI(在显示属性中)为 120,则计算结果为 160 像素。

换句话说,像素 = 点 * DPI/72

但是,这并没有考虑缩放。 Excel 中的 ActiveWindow.Zoom 是百分比,因此例如 200 是正常大小的两倍。请注意,UI 仍显示未缩放的像素。

关于c++ - 获取 excel 单元格的大小(以像素为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com