Eu tenho um gerador de relatórios que é bala, ele faz o relatório dinamicamente, a partir de um arquivo texto que contém todas as informações para o relatório como campos, alinhamento, tamanhos, cabecalho quebras, tabelas para consulta de dados, Alias de campos... E para formatar os controles, uso uma function que deixa todos os controles sempre iguais em todos os forms, assim:
Public Function FormatarForm(TheForm As Form)
For i% = 0 To TheForm.Controls.Count - 1
If TypeOf TheForm.Controls(i%) Is Label Then
TheForm.Controls(i%).Font = "Arial"
TheForm.Controls(i%).FontBold = True
TheForm.Controls(i%).ForeColor = vbBlack
ElseIf TypeOf TheForm.Controls(i%) Is TextBox Then
TheForm.Controls(i%).Font = "Arial"
TheForm.Controls(i%).Font.Bold = True
TheForm.Controls(i%).ForeColor = &H80000002
ElseIf TypeOf TheForm.Controls(i%) Is OptionButton Then
TheForm.Controls(i%).FontName = "Arial"
TheForm.Controls(i%).FontBold = True
TheForm.Controls(i%).ForeColor = vbBlack
ElseIf TypeOf TheForm.Controls(i%) Is CheckBox Then
TheForm.Controls(i%).FontName = "Arial"
TheForm.Controls(i%).FontBold = True
ElseIf TypeOf TheForm.Controls(i%) Is CommandButton Then
TheForm.Controls(i%).FontName = "Arial"
TheForm.Controls(i%).FontBold = True
ElseIf TypeOf TheForm.Controls(i%) Is Frame Then
TheForm.Controls(i%).FontName = "Arial"
TheForm.Controls(i%).FontBold = True
TheForm.Controls(i%).ForeColor = &H80000002
ElseIf TypeOf TheForm.Controls(i%) Is MSComctlLib.ListView Then
TheForm.Controls(i%).ForeColor = &H80000002
TheForm.Controls(i%).Font.Name = "Arial"
TheForm.Controls(i%).Font.Bold = True
ElseIf TypeOf TheForm.Controls(i%) Is ComboBox Then
TheForm.Controls(i%).ForeColor = &H80000002
TheForm.Controls(i%).FontName = "Arial"
TheForm.Controls(i%).FontBold = True
End If
Next i%
End Function