我有一份所有可用打印机的下拉列表:
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做到这一点(参见我的代码),但没有任何东西以这种方式显示。
我怎样才能做到这一点?
答案 0 :(得分:5)
通过指定下拉列表的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中建议使用声明变量。在表单模块的声明部分中包含Option Explicit
,然后从VB编辑器的主菜单中运行 Debug-> Compile 。在解决其他代码问题之前,修复编译器抱怨的任何其他内容。