0
Delphi西雅图,Excel 2013.我有一个Delphi应用程序,它可以修改现有的Excel文件。如果工作表没有启用行1过滤功能(即每列中的过滤器下拉框),那么我想打开它。我知道如何打开它。问题在于'打开'确实是一个切换,所以我需要确定它是否已经打开,而我似乎无法做到这一点。代码的适用部分是:Delphi - 确定Excel是否启用了过滤器
var
aws: ExcelWorksheet;
begin
...
aws := oExcel.ActiveSheet as ExcelWorksheet;
if aws.FilterMode[LOCALE_USER_DEFAULT] = False then
aws.Cells.Item[1, 1].Rows.EntireRow.AutoFilter;
问题是我的IF语句总是返回FALSE,即使第1行启用了FILTER。我曾尝试使用msoFalse而不是False,但后来发现“不兼容类型”错误。请注意,我不想执行任何过滤,我只想显示下拉菜单以使用户更容易。我认为我的问题是,我正在检查是否实际执行了FILTER,而不是“我是否显示过滤器下拉列表”,但我不知道如何检查...
这就是它......完全错过了它。谢谢! – user1009073