Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2008, 13:47   #1
Ромыч
 
Регистрация: 05.03.2008
Сообщений: 7
По умолчанию Люди добрые помогите найти ошибку

Люди помогите пожалуйста найти ошибку в коде:
Код:
var
  Form1: TForm1;
  wb: TExcelWorkbook;
  sheet:_Worksheet;
  filename: String;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:      integer;
    letter,
    group,
    okp:    String;
begin
  if Length(LabeledEdit1.Text)<=0 then
  begin
    ShowMessage('Сообщение');
    exit;
  end;

  if ((Length(StartRowEdit.Text)<=0)or(Length(EndRowEdit.Text)<=0)) then
  begin
    ShowMessage('Сообщение');
    exit;
  end;

  try
    StrToInt(StartRowEdit.Text);
    StrToInt(EndRowEdit.Text);
  except
    ShowMessage('Сообщение');
    exit;
  end;

  ProgressBar1.Step:= 3;
  ProgressBar1.Max:= StrToInt(EndRowEdit.Text);
  ProgressBar1.Min:= StrToInt(StartRowEdit.Text);
  ProgressBar1.Position:= 0;
  ProgressBar1.Visible:= true;

  try
    filename:= LabeledEdit1.Text;

    app.Connect;


    app.Workbooks.Open(filename,emptyparam,true,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,
                                    emptyparam,emptyparam,emptyparam,emptyparam,1000);


    sheet:= app.ActiveWorkbook.Worksheets[1] as _WorkSheet;

    Memo1.Lines.Clear;

    for i:=ProgressBar1.Min to ProgressBar1.Max do
    begin
      if ((i mod ProgressBar1.Step) = 0) then ProgressBar1.StepIt;

      letter:= sheet.Cells.Item[i,3];

   
      group:= sheet.Cells.Item[i,4];


      okp:= AnsiReplaceText(sheet.Cells.Item[i,5],' ','');

  
      Memo1.Lines.Add(IntToStr(i)+') '+letter+' --- '+group+' --- '+okp);
    end;

    ProgressBar1.Visible:= false;

    ShowMessage('Сообщение');

   
    app.Disconnect;

    app.Application.Quit;

    except on e:Exception do
    begin

      app.Disconnect;
      app.Application.Quit;


      ShowMessage('ERROR: '+e.Message+#13+' i='+IntToStr(ProgressBar1.Position));
    end;

  end;//try...except


end;
Ошибка в этом куске кода:

Код:
    app.Workbooks.Open(filename,emptyparam,true,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,
                                    emptyparam,emptyparam,emptyparam,emptyparam,1000);
[Error] Unit1.pas(82): Not enough actual parameters
Век живи - век учись
Ромыч вне форума Ответить с цитированием
Старый 27.03.2008, 16:44   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Судя по этому http://msdn2.microsoft.com/en-us/lib...5x(VS.80).aspx ты пропустил ещё один параметр...

И в ошибке это также написанно.....

Код:
this.Application.Workbooks.Open(@"C:\YourPath\YourWorkbook.xls",
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,missing, missing);
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Люди добрые, помогите кто чем сможет. Chuprin2006 Microsoft Office Excel 4 11.06.2008 17:03
Люди добрые помогите!!!... Stas))) Помощь студентам 3 02.06.2007 20:07