我正在使用MS Word vba创建一个项目,该项目由一个活动文档和一个userform
组成。
我希望文档和用户表单彼此相邻。 问题是:
modal
用户窗体属性设置为true
,则文档将无法编辑modal
属性= false
,则放大后的文档可以包含在用户窗体下。我希望既可见又活跃。我希望将它们都限制在每个区域,例如在通常情况下是两个分开的窗口。
是否有任何VBA代码可以实现?!
非常感谢您的协助。 谢谢。
答案 0 :(得分:1)
您可以强制Application
或UserForm
更改其属性。
您可以使用
Left
用于水平轴Top
用于垂直轴Height
和Width
很不言自明。如果您熟悉css中的position:absolute;
,它们的工作方式完全相同
因此,如果我的Excel应用程序处于全屏模式。
使用此代码,我点击按钮后就可以打开
UserForm
同时确保它不与Excel工作表重叠。
Private Sub CommandButton1_Click()
UserForm1.Show (0)
Application.WindowState = xlNormal
Application.Width = 800
Application.Left = 0
Application.Top = 0
UserForm1.Left = 850
End Sub
很明显,您可以根据需要使用这些属性。
答案 1 :(得分:0)
可以尝试使用非模式userform
来放置这样的窗口
Sub test()
Application.ActiveWindow.WindowState = wdWindowStateNormal
Application.ActiveWindow.Top = Application.Top
Application.ActiveWindow.Left = Application.Left
Application.ActiveWindow.Height = Application.UsableHeight
Application.ActiveWindow.Width = Application.UsableWidth / 2
'ActiveWindow.ActivePane.View.Zoom.Percentage = 50 , may control zoom here
UserForm1.Show
UserForm1.StartUpPosition = 0
UserForm1.ScrollBars = fmScrollBarsBoth
UserForm1.KeepScrollBarsVisible = fmScrollBarsBoth
UserForm1.Top = Application.Top
UserForm1.Left = Application.Left + Application.UsableWidth / 2
UserForm1.ScrollHeight = UserForm1.Height + 10
UserForm1.ScrollWidth = UserForm1.Width + 10
UserForm1.Height = Application.UsableHeight
UserForm1.Width = Application.UsableWidth / 2
'UserForm1.Zoom = 70 ' may control zoom
End Sub
类似地修改代码的地方可能会垂直平铺。