我有一个包含所有可用打印机的下拉列表:
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
我在 For
循环之前移动了 RowSourceType
语句……您只需要运行该语句一次。
另请注意 Dim l_pr As Printer
... 声明变量是 VBA 中推荐的做法。在窗体模块的声明部分包含 Option Explicit
,然后从 VB 编辑器的主菜单运行 Debug->Compile。在解决其他代码问题之前修复编译器提示的任何其他问题。
关于ms-access - 下拉列表 - 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487901/