5

ユーザーフォームに複数ページがあります。実行時に、ユーザーはいつでもxページを追加することを選択できます。各ページの要素は同じになります。これらの要素を複製する方法があるのか​​、それとも新しいページごとに同じ要素を再作成する必要があるのでしょうか。その場合、要素を配置するページ上の場所を指定するにはどうすればよいですか?

ここに画像の説明を入力してください

4

2 に答える 2

8

秘訣は、すべてのコントロールを1ページ目のフレームに配置することです。そうすれば、残りは簡単になります:)

このコードは、コントロールを作成Page1した後、にコピーし、それに応じて配置します。Page2Page2

Option Explicit

Private Sub CommandButton2_Click()
    Dim l As Double, r As Double
    Dim ctl As Control

    MultiPage1.Pages.Add

    MultiPage1.Pages(0).Controls.Copy
    MultiPage1.Pages(1).Paste

     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(1).Controls
        If TypeOf ctl Is MSForms.Frame Then
            ctl.Left = l
            ctl.Top = r
            Exit For
        End If
    Next
End Sub

スナップショット

ここに画像の説明を入力してください

于 2012-05-30T19:21:26.020 に答える
1

「実行時エラー '-2147417949 (80010108)'」は、フォームの別の場所にフレームがあることが原因である可能性があります。他のフレームをすべて削除して、もう一度実行してみてください。

于 2014-09-08T10:25:37.430 に答える