我要在Excel的指定单元格中生成一个下拉列表,在Excel中的操作如下:
在Excel中的操作如下:
(1)选中一个单元格
(2)工具栏中的 数据——>有效性——>“设置”选项卡——>在“允许”下拉列表中选中“序列”——>在“来源”中输入下拉列表中要出现的值,用英文逗号“,”隔开。比如AAA,BBB,CCC。通过录制宏,VBA代码如下:
Sub Macro1()    Range("A1").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="AAA,BBB,CCC"
    …………    
    End With
End Sub我写了一个Delphi的测试程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var ExcelApp, WorkBook:OleVariant;
begin
  ExcelApp:=CreateOleObject('Excel.Application');
  WorkBook:=CreateOleObject('Excel.Sheet');
  WorkBook:=ExcelApp.WorkBooks.Add;
  WorkBook.SaveAs('d:\Test.xls');  ExcelApp.WorkSheets[1].Name:='TestSheet';
  ExcelApp.WorkSheets['TestSheet'].Activate;
  ExcelApp.Range['A1'].Select;
  //这里汇报错
  Try
    ExcelApp.Selection.Validation.Add('AAA,BBB,CCC');
  Except
    ShowMessage('这里出错拉!');
    ExcelApp.Cells[1,1].Value:='Error';
  End;  WorkBook.Save;
  WorkBook.Close;
  ExcelApp.Quit;
end;在A1单元格中生成下拉列表总是报错~~
我对这个问题的看法是:Formular1匙Add方法的一个参数,所以我把它放在Add方法的括号中,但是通不过去!!我尝试了很多种方法,都是不行!
大家有没有VB的开发经验,帮我看看这个地方应该怎么处理??谢谢!!