XLwings选择ListBox上的项目

时间:2017-08-30 08:04:47

标签: python xlwings

我正在尝试从列表框中以编程方式选择项目。在VBA上,我会这样做:

Sheet1.MyListBox.Selected(0) = False

或取消选择

>> wb.Sheets(1).api.MyListBox.Selected(0)
True

使用XLwings,我可以通过以下方式轻松检查项目是否被选中:

wb.Sheets(1).api.MyListBox.Selected(0) = True
  File "<ipython-input-156-9ef416a5660f>", line 1
    wb.Sheets(1).api.MyListBox.Selected(0) = True
                                                 ^
SyntaxError: can't assign to function call

但如果我尝试分配值,我会收到错误:

$.support.touch ? "true" : "false";

希望有人可以提供帮助。

PS:我发现,如果您处于设计模式(在Excel工具栏上选择),即使第一行因某些原因而无法使用Python!

1 个答案:

答案 0 :(得分:0)

  

评论:如果...方法未实现怎么办? ...使用ListBox.Selected(0) = True并发现使用xlwings

是不可能的

当前的库中没有ListBox.Selected(Int32)。 因此,我认为必须在xlwings中实施才能使用 使用.api接口,您只能使用库提供的任何内容。

  

问题:从列表框中以编程方式选择项目

wb.Sheets(1).api.MyListBox.SetSelected(0, True)
  

ListBox.SetSelected Method (Int32, Boolean)

     

选择或清除ListBox中指定项目的选择   参数
  index类型:System.Int32
  ListBox中项目的从零开始的索引,用于选择或清除选择   value类型:System.Boolean
  如果为true,则选择指定的项目;否则,错误。