【问题标题】:What are the units for form widths and heights in VBA?VBA中表格宽度和高度的单位是什么?
【发布时间】:2010-02-28 13:18:51
【问题描述】:

我正在为 Word 2007 编写 VBA。

我创建了一个用户窗体,我需要用脚本调整它的大小。

我注意到它不是像素

 Me.Width = pixelW   // form appears about 20% larger than the pixel width

而且它的也不是缇

 Me.Width = (((1 / TwipsPerPixelX()) * pixelW)) / 1)  // form appears very small

那么如何在 Office 2007 VBA 中测量表单的宽度和高度?

【问题讨论】:

    标签: vba forms resize pixels


    【解决方案1】:

    当通过代码操作表单上的控件时,默认情况下大小为缇(我相信如果您更改表单的 ScaleMode 属性,您可以选择使用另一个单位)。

    您的转换公式有误(很容易出错)。试试这个,包装在一个函数中,以避免代码重复,每个重复项都有可能出现拼写错误

    Function nTwipsFromPixelsX(ByVal nPixels As Long) As Long
      nTwipsFromPixels = TwipsPerPixelX() * nPixels
    End Function
    

    【讨论】:

      【解决方案2】:

      使用 VBA for Access 时,通常以缇和/或厘米表示大小,具体取决于您是从用户界面(厘米)还是从代码(缇)管理它们。例如,您可以以厘米为单位设置组合框控件的列大小(通过在窗体处于设计模式时在控件的属性中输入相应的值)或以缇为单位(通过在窗体打开时从代码更新这些值) .

      我想这也适用于 Word 的 VBA。我建议你写下 cmToTwips 和 TwipsToCm 函数来进行度量转换

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-07
        • 2011-06-19
        • 1970-01-01
        • 2017-07-08
        • 1970-01-01
        • 2015-07-11
        • 2016-06-20
        • 1970-01-01
        相关资源
        最近更新 更多