【发布时间】:2019-01-07 09:30:06
【问题描述】:
我正在尝试使用 python win32com api 在 excel 单元格中添加下拉菜单。但无法实现。
这是我的代码
from win32com.client import Dispatch
import os
import win32api
path = os.getcwd()
path1 = path + '\\myExcel.xlsx'
try:
xl = Dispatch("Excel.Application")
xl.Visible = 1 # fun to watch!
wb = xl.Workbooks.Open(Filename=path1)
ws = wb.Worksheets(1)
ws.Cells(1,1).Value = "GREEN"
ws.Cells(2,1).Value = "YELLOW"
ws.Cells(3,1).Value = "RED"
ws.Cells(4,1).Value = "WHITE"
ws.Cells(5,1).Value = "NOT SURE"
ws.Cells(6,1).Value = "["GREEN", "YELLOW", "RED", "WHITE", "NOT SURE"]" //I want drop down here
wb.Close(SaveChanges=True)
xl.Quit()
except Exception as e:
print(e)
【问题讨论】:
-
什么是下拉列表?是过滤器吗?
-
@ycx 这是一个列表。编辑了我的问题。 :)
-
你的问题在哪里?
-
OP 想要做的是您可以通过这种方式在 Excel 2016 中以交互方式执行的操作:数据选项卡 |数据工具窗格 |数据验证 |数据验证... |设置 |允许:列表,来源:。这是在 VBA 中执行此操作的一种方法:software-solutions-online.com/excel-vba-drop-down-lists/#Jump2
-
@SaurabhAgrawal 而不是像你的代码那样设置
ws.Cells(6,1).Value。而是按照 VBA 示例设置ws.Cells(6,1).Validation。所有此类 Excel 文档都假定您使用 VBA 进行编程,因此您需要学习将解决方案转换为 Python。
标签: python excel winapi win32com