热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么Range.ColumnWidth的单位与点或厘米都不匹配(使用默认单位)

如何解决《为什么Range.ColumnWidth的单位与点或厘米都不匹配(使用默认单位)》经验,为你挑选了1个好方法。

我正在Access数据库中生成VBA子例程,该例程会生成Excel文件,但是当我使用以下方法修改列宽时:

Range("A:A").ColumnWidth = ...

根据测量单位产生混合结果。Excel在选项中设置的默认度量是厘米。我尝试输入以点和厘米为单位的值,但是结果太宽或太小(请参见下文):

Range("A:A").ColumnWidth = 3.07 'In Centimeters - Too small
Range("A:A").ColumnWidth = 87.02 'In Points - Too big

根据文档 Range.ColumnWidth ,以点为计量单位(宽度为0)进行设置。无论我输入什么值,结果都不一样。



1> Dick Kusleik..:

.ColumnWidth属性是指您可以使用默认字体在单元格中键入的零个数,而不会超出该单元格的宽度。

在一个新的工作簿中,假设您的默认列宽为8.43,请键入'000000000一个单元格,您会看到第9个零点溢出了右侧的单元格边框大约为零。

要以点为单位设置像元宽度,请将.ColumnWidth设置为points / cell.Width * cell.ColumnWidth。这是要解决的问题,您必须将它设置三下才能使其接近,但几乎永远不会准确。因此,将.ColumnWidth分配放入For Next循环中,并将其设置三遍。

请注意,.Width属性以磅为单位,您无法进行设置。.ColumnWidth属性采用crazy-zero-width-measurement,您可以进行设置。我不知道为什么要花三遍。

请参阅http://dailydoseofexcel.com/archives/2004/06/01/column-widths-in-points/了解有关“三倍”情况的一些测试结果。


推荐阅读
author-avatar
灰色头像6888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有