首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA:循环浏览VBA.Me.Multipage1.Pages 1.页面(I)

VBA:循环浏览VBA.Me.Multipage1.Pages 1.页面(I)
EN

Stack Overflow用户
提问于 2017-03-18 22:55:14
回答 2查看 1.4K关注 0票数 1

我需要翻阅隐藏的网页。我有10个隐藏的页面,每个页面上都有很多控件。

我需要的是确定哪个页面是下一个页面,如下所示:

代码语言:javascript
复制
Dim i as Integer 

For Each i In Me.MultiPage1.Pages(i)

    If Me.MultiPage1.Pages.Visible = False Then

        'DO STUFF HERE

    End If

 Next i

我希望这能解释。这很简单,但是我找不到任何检查页面的循环文档。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-03-19 06:32:49

如果希望保持编码版本的样式,并从0循环到Pages控件中的MultiPage1数量,则需要使用命令:Me.MultiPage1.Pages.Count获得Pages的编号。

代码语言:javascript
复制
Dim i       As Long

For i = 0 To Me.MultiPage1.Pages.Count - 1
    If Me.MultiPage1.Pages(i).Visible = False Then
        MsgBox "Page index " & i & " is hidden" ' <-- message box just for testing
        'DO STUFF HERE

    End If
Next i

编辑1

支持条例草案所作的新澄清:

代码语言:javascript
复制
Dim i   As Long, j  As Long
Dim LastVisPg       As Long

For i = Me.MultiPage1.Pages.Count - 1 To 0 Step -1
    Debug.Print MultiPage1.Pages(i).Caption
    If Not Me.MultiPage1.Pages(i).Visible Then
        For j = i - 1 To 0 Step -1
            If Me.MultiPage1.Pages(j).Visible Then
                LastVisPg = j
                GoTo LastVisPageFound
            End If
        Next j
    End If
Next i

LastVisPageFound:    
MsgBox "Last Visible Page index is  " & LastVisPg & ", Next unvisible page index is " & LastVisPg + 1

'=== OPTIONAL === : Set the next Page to Visible, and set the focus to it when the focus to this page
Me.MultiPage1.Pages(LastVisPg + 1).Visible = True ' unhide the next unvisible Page
Me.MultiPage1.Value = LastVisPg + 1 ' set focus to the next unvisible Page when User_Form loads
票数 1
EN

Stack Overflow用户

发布于 2017-03-19 01:56:25

试试这个:

代码语言:javascript
复制
For Each pg In Me.MultiPage1.Pages
If pg.Visible = False Then

'Do something

End If
Next pg

编辑关于第二个问题:

从上面的:.Visible = True,我将添加什么来找到最后一个.Visible = True并激活它旁边的页面。例如,如果它停在Pages(4)上,那么添加下一页(5)

添加一个变量来记住最后一个可见页面,如下所示:

代码语言:javascript
复制
Dim lastvisible As Integer
For Each pg In Me.MultiPage1.Pages
If pg.Visible = False Then
'set the varible to this page index
lastvisible = pg.index
'Do something

End If
Next pg

当循环完成变量"lastvisible“将包含最后一个可见页的索引时,您现在可以使用它来设置有关该页或以下任何示例中的任何内容(将最后一个可见页旁边的页面设置为可见页):

代码语言:javascript
复制
Me.MultiPage1.Pages(lastvisible + 1).Visible = True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42880850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档