Quantcast
Channel: SharePoint 2013 - Development and Programming forum
Viewing all articles
Browse latest Browse all 25064

How do you get the type of a control using VBA

$
0
0

Anyone know how to get the control type property of a VBA form?

Controls on Sharepoint VBA forms can be listed but I cant get the type as if its not an attribute or property:

Sub ListControls()
Dim i As Integer, St1 As String
       St1 = "NAME" & Chr(9) & Chr(9) & "TOP" & Chr(9) & "LEFT" & Chr(9) & "WIDTH" & Chr(9) & "HEIGHT"
    For i = 0 To Me.Controls.Count - 1
     St1 = St1 & vbCr & Me.Controls(i).Name & Chr(9) & Me.Controls(i).Top & _
        Chr(9) & Me.Controls(i).Left & Chr(9) & Me.Controls(i).Width & Chr(9) & Me.Controls(i).Height
    Next i
        MsgBox St1
        Debug.Print St1
        Me.Hide
End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''

Or export it to excel if a reference is set in the backend, but can't seem to find the type property, so I can rebuild it somewhere else:

Sub SendControls()
Dim xlap As Object
Dim WB1 As String 'Object
   If xlap Is Nothing Then
    'Excel wasn't open - open a new one
        Set xlap = CreateObject("Excel.Application")
    End If
     xlap.Visible = True
 With xlap
 .Workbooks.Add
  WB1 = ActiveWorkbook.Name
  ' Workbooks(WB1).Sheets(1).Range("A1").EntireColumn.Width = 20
    Workbooks(WB1).Sheets(1).Range("A1").Value = "NAME"
    Workbooks(WB1).Sheets(1).Range("B1").Value = "TYPE"
    Workbooks(WB1).Sheets(1).Range("C1").Value = "TOP"
    Workbooks(WB1).Sheets(1).Range("D1").Value = "LEFT"
    Workbooks(WB1).Sheets(1).Range("E1").Value = "WIDTH"
    Workbooks(WB1).Sheets(1).Range("F1").Value = "HEIGHT"
           Workbooks(WB1).Sheets(1).Columns("A:A").ColumnWidth = 16.78
           Workbooks(WB1).Sheets(1).Columns("B:B").ColumnWidth = 19

   Dim i As Integer, St1 As String
       St1 = "NAME" & Chr(9) & Chr(9) & "TOP" & Chr(9) & "LEFT" & Chr(9) & "WIDTH" & Chr(9) & "HEIGHT"
    For i = 0 To Me.Controls.Count - 1
        Workbooks(WB1).Sheets(1).Range("A" & i + 2).Value = Me.Controls(i).Name
        'Workbooks(WB1).Sheets(1).Range("B" & i + 2).Value = Me.Controls(i).Name
        Workbooks(WB1).Sheets(1).Range("C" & i + 2).Value = Me.Controls(i).Top
        Workbooks(WB1).Sheets(1).Range("D" & i + 2).Value = Me.Controls(i).Left
        Workbooks(WB1).Sheets(1).Range("E" & i + 2).Value = Me.Controls(i).Width
        Workbooks(WB1).Sheets(1).Range("F" & i + 2).Value = Me.Controls(i).Height

     St1 = St1 & vbCr & Me.Controls(i).Name & Chr(9) & Me.Controls(i).Top & _
        Chr(9) & Me.Controls(i).Left & Chr(9) & Me.Controls(i).Width & Chr(9) & Me.Controls(i).Height
    Next i
 End With
   Set xlap = Nothing
      'Me.Controls .Add(bstrProgID:="Forms.CommandButton.1", Name:="But3", Visible:=True)
End Sub


Viewing all articles
Browse latest Browse all 25064

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>