How to: Add, Cut, and Paste a Control on a Page

The following example uses the Microsoft Forms 2.0 Controls collection, and the Controls.Add, Controls.Cut, and Page.Paste methods to add, cut, and paste a control on a Page of a MultiPage. The control involved in the cut and paste operations is dynamically added to the form.

This example assumes the user will add, then cut, then paste the new control.

To use this example, copy this sample code to the Script Editor of a form. To run the code you need to open the form so the Open event will activate. Make sure that the form contains:

  • Three CommandButton controls named CommandButton1 through CommandButton3.

  • A MultiPage named MultiPage1.

Dim CommandButton1 
Dim CommandButton2 
Dim CommandButton3 
Dim MultiPage1 
Dim MyTextBox 
 
Sub CommandButton1_Click() 
 Set MyTextBox = MultiPage1.Pages(MultiPage1.Value).Controls.Add("Forms.TextBox.1", "MyTextBox", 1) 
 CommandButton2.Enabled = True 
 CommandButton1.Enabled = False 
End Sub 
 
Sub CommandButton2_Click() 
 MultiPage1.Pages(MultiPage1.Value).Controls.Cut 
 CommandButton3.Enabled = True 
 CommandButton2.Enabled = False 
End Sub 
 
Sub CommandButton3_Click() 
 Dim MyPage 
 Set MyPage = MultiPage1.Pages.Item(MultiPage1.Value) 
 
 MyPage.Paste 
 CommandButton3.Enabled = False 
End Sub 
 
Sub Item_Open() 
 Set CommandButton1 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("CommandButton1") 
 Set CommandButton2 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("CommandButton2") 
 Set CommandButton3 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("CommandButton3") 
 Set MultiPage1 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("MultiPage1") 
 
 CommandButton1.Caption = "Add" 
 CommandButton2.Caption = "Cut" 
 CommandButton3.Caption = "Paste" 
 
 CommandButton1.Enabled = True 
 CommandButton2.Enabled = False 
 CommandButton3.Enabled = False 
End Sub