【发布时间】:2014-10-14 12:33:35
【问题描述】:
VBA、Excel 2010。
鉴于:
- 多页用户表单
- 脚本,用于复制页面(基于this question)
流程:
- 打开表单(多页中的 1 页,screenshot 1);
- 通过运行脚本复制一个页面(多页中的2页,screenshot 2);
- 关闭形式;
- 重新打开表单(同样只有 1 页,与第 1 步相同);
脚本代码:
Private Sub CommandButton1_Click()
Dim l As Double, r As Double
Dim ctl As Control
Dim totalPageNum As Integer
'Get number of existing pages
totalPageNum = MultiPage1.Pages.Count
'Add new one
MultiPage1.Pages.Add
'Copy elements
MultiPage1.Pages(0).Controls.Copy
MultiPage1.Pages(totalPageNum).Paste
MultiPage1.Pages(totalPageNum).Caption = "Page" & MultiPage1.Pages.Count
'Copying frame coordinates
For Each ctl In MultiPage1.Pages(0).Controls
If TypeOf ctl Is MSForms.Frame Then
l = ctl.Left
r = ctl.Top
Exit For
End If
Next
For Each ctl In MultiPage1.Pages(totalPageNum).Controls
If TypeOf ctl Is MSForms.Frame Then
ctl.Left = l
ctl.Top = r
Exit For
End If
Next
End Sub
问题:如何在重新打开表单/文件时保存页面(这样我可以在第 4 步获得 2 页)
附:不幸的是,我还不能发布图片来更好地解释这个问题。
感谢您的帮助!
【问题讨论】:
-
你能澄清一下吗?我真的不明白你在问什么。另外,我会尽快发布图片/代码。你不能只在这里索要代码。
-
你好,布雷迪克!我已经添加了脚本代码和外部截图链接,希望这会更清楚。如果需要,我也可以自己上传 xls 文件。