3

我有一个所有可用打印机的下拉列表:

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 来做到这一点(请参阅我的代码),但没有任何东西以这种方式显示。

我怎样才能做到这一点?

4

1 回答 1

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 编辑器的主菜单运行调试->编译。在对其他代码问题进行故障排除之前,修复编译器抱怨的任何其他问题。

于 2013-07-05T13:01:39.127 回答