我有一个所有可用打印机的下拉列表:
Private Sub Form_Load()
For Each l_pr In Application.Printers
Me.dropdown.RowSourceType = "Value List"
Me.dropdown.AddItem l_pr.DeviceName
Next
Me.dropdown.DefaultValue = Application.Printer.DeviceName
End Sub
我希望在加载表单时选择默认打印机。我认为您可以使用DefaultValue(请参阅我的代码)来实现这一点,但没有任何内容以这种方式显示。
我怎样才能做到这一点?
通过指定下拉菜单的Value
属性而不是DefaultValue
来选择打印机。
我在Access 2007中使用新表单验证了此代码。。。
Private Sub Form_Load()
Dim l_pr As Printer
Me.dropdown.RowSourceType = "Value List"
For Each l_pr In Application.Printers
Me.dropdown.AddItem l_pr.DeviceName
Next
'Me.dropdown.DefaultValue = Application.Printer.DeviceName
Me.dropdown.Value = Application.Printer.DeviceName
Set l_pr = Nothing
End Sub
我把RowSourceType
语句移到了For
循环之前。。。您只需要运行该语句一次。
还要注意Dim l_pr As Printer
。。。声明变量是VBA中的推荐做法。在表单模块的Declarations部分中包含Option Explicit
,然后从VB编辑器的主菜单中运行Debug->Compile。在排除其他代码问题之前,修复编译器抱怨的任何其他问题。