文本字符串中的像素(Microsoft Excel)
Jerrold知道LEN函数返回文本字符串中的字符数。但是,他需要知道的是文本字符串中的像素数(不是字符)。他想知道是否存在某种方法来计算值。
简短的答案是不,没有。更长的答案是也许存在。 (声音令人困惑?请继续阅读。)问题在于,像素(图片元素的简称)基本上是渲染设备(例如监视器)上的点,或者(更宽松地)在打印机上。打包成一英寸的像素数取决于许多变量,例如输出设备的分辨率及其尺寸。
例如,以相同的分辨率,19英寸监视器上的一英寸像素数将不同于21英寸监视器上的一英寸像素数。为什么?由于屏幕分辨率分布在较大的显示表面上,因此该显示表面每英寸的像素更少。
现在让我们把字体混在一起。不同的字体将不同数量的字符打包成给定的线性度量。如果将一堆文本放在一个单元格中,将该单元格向下复制若干行,然后将不同的字体应用于每个单元格,则您会经常看到这种情况。单元格的内容将根据选择的字体(和磅值)占据不同的水平空间。
如果您使用的等宽字体(例如Courier)具有为所有字符设置的大小,则可以计算所有字符每英寸的字符,然后根据字符数确定像素数的粗略估计。但是,您仍然会遇到问题,因为必须考虑输出设备。
这不适用于比例字体,因为每个字符的字符大小都不同:例如,MS比Is宽得多。因此,对于每种字体的每个字符(甚至可能是每种字体大小),都需要一张像素大小表,并且必须创建一个函数来遍历字符串并保持每个字符的连续大小。如果各种字符属性(如粗体或斜体)或应用于字体,则情况将变得更加复杂。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(3802)适用于Microsoft Excel 97、2000、2002和2003。