Excel VBA用户窗体编辑器自动调整大小

3
我在Excel中制作了一个用户表单并保存了它。但是每隔一段时间,当我打开编辑器时,表单会自行调整大小。当我点击表单右下角进行调整大小时,它会自动弹回到原来的预期大小(请参见下面的GIF)。
这也会影响运行时的表单。这是微软需要修复的错误吗?还是有某种自动调整大小的设置可以禁用?
我有这个初始化代码和硬编码的预期大小:
Private Sub UserForm_Initialize()
    Me.Width = 402.6
    Me.Height = 430.8
    
    Me.StartUpPosition = 0
    Me.Left = Application.Left + (0.5 * Application.Width) - (0.5 * Me.Width)
    Me.Top = Application.Top + (0.5 * Application.Height) - (0.5 * Me.Height)
End Sub

enter image description here


它看起来像是 DPI 感知,但我不知道 VBA Userforms 支持这一点。https://learn.microsoft.com/en-us/office/client-developer/ddpi/handle-high-dpi-and-dpi-scaling-in-your-office-solution - braX
我尝试了设置兼容性优化选项。但是在开启此设置后,当我尝试调整表单大小时,Excel会立即崩溃。 - tomatoeshift
你在做那件事的时候,把代码拿出来了吗? - braX
现在它不再崩溃了。让我们看看这是否有效。不,我没有删除我的代码。 - tomatoeshift
2个回答

3
感谢 @braX 指引我正确的方向。这似乎是一个 DPI 意识问题
对我来说,解决方案是勾选 兼容性优化 选项,并重新启动 Excel。

enter image description here


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接