ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Viewing UserForm code in Notepad (https://www.excelbanter.com/excel-programming/330262-viewing-userform-code-notepad.html)

Paul Martin

Viewing UserForm code in Notepad
 
Hi all

If I export a Form Module to my desktop and open it in Notepad, I can
see how VBA writes the properties of the UserForm such as Height, Left,
StartUpPosition, etc.

Is there any way that I can (in Notepad) also view all the properties
of all the controls on the UserForm?

Thanks in advance

Paul Martin
Melbourne, Australia


Alok

Viewing UserForm code in Notepad
 
Those are saved in the file with the .frx extension. This file is a binary
file and hence cannot be viewed in notepad.

Alok Joshi

"Paul Martin" wrote:

Hi all

If I export a Form Module to my desktop and open it in Notepad, I can
see how VBA writes the properties of the UserForm such as Height, Left,
StartUpPosition, etc.

Is there any way that I can (in Notepad) also view all the properties
of all the controls on the UserForm?

Thanks in advance

Paul Martin
Melbourne, Australia



Paul Martin

Viewing UserForm code in Notepad
 
Addendum:

My intent was to see if any invalid RowSource or ControlSource values
had been set. My app has been crashing, and I suspect this may be the
reason. My thinking is that it would be easier to see this in Notepad,
than searching through the Properties Window.


Michel Pierron

Viewing UserForm code in Notepad
 
Hi Paul,
For the UserForm properties, you can try:

Sub UserFormProperties()
Dim vbProj As Object, F%, i%
Set vbProj = ThisWorkbook.VBProject
Set Application.VBE.ActiveVBProject = vbProj
Application.Visible = 1
Windows(ThisWorkbook.Name).Activate
DoEvents
F = FreeFile
Open "c:\MyFile.txt" For Output As #F
On Error Resume Next
With ThisWorkbook.VBProject.VBComponents("UserForm1")
For i = 1 To .Properties.Count
Print #F, .Properties(i).Name & vbTab & .Properties(i).Value
Next i
End With
Close #F
Set vbProj = Nothing
Shell "c:\windows\notepad.exe c:\myfile.txt", 1
End Sub

MP

"Paul Martin" a écrit dans le message de news:
...
Hi all

If I export a Form Module to my desktop and open it in Notepad, I can
see how VBA writes the properties of the UserForm such as Height, Left,
StartUpPosition, etc.

Is there any way that I can (in Notepad) also view all the properties
of all the controls on the UserForm?

Thanks in advance

Paul Martin
Melbourne, Australia




Michel Pierron

Viewing UserForm code in Notepad
 
Re Paul,
For all controls properties, if you have the possibility of adding the
reference to TypeLibInformation (c:\windows\system32\tlbinf32.dll), adapt
the following code to your need:

Sub ControlsPropertiesList()
If UserForm1.Controls.Count = 0 Then Exit Sub
Cells.ClearContents
Dim oInfo As InterfaceInfo
Dim oMember As MemberInfo
Dim sProp$, i&, sVal$, Ctl As Control
For Each Ctl In UserForm1.Controls
i = i + 1
Set oInfo = InterfaceInfoFromObject(Ctl)
For Each oMember In oInfo.Members
On Error Resume Next
If oMember.InvokeKind = 4 Then
sProp = oMember.Name
sVal = CallByName(Ctl, sProp, VbGet)
Cells(i, 1) = oInfo.Name
Cells(i, 2) = sProp
Cells(i, 3) = sVal
i = i + 1
End If
Next oMember
Next Ctl
Cells.Columns.AutoFit
End Sub

Regards,
MP

"Paul Martin" a écrit dans le message de news:
...
Hi all

If I export a Form Module to my desktop and open it in Notepad, I can
see how VBA writes the properties of the UserForm such as Height, Left,
StartUpPosition, etc.

Is there any way that I can (in Notepad) also view all the properties
of all the controls on the UserForm?

Thanks in advance

Paul Martin
Melbourne, Australia




Paul Martin

Viewing UserForm code in Notepad
 
Hi Michel

Thanks again for your input.

Regards

Paul Martin
Melbourne, Australia



All times are GMT +1. The time now is 01:23 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com