Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
И_007
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 14
#1

Ошибка при попытке открытия документа Excel

01.02.2014, 17:30. Просмотров 569. Ответов 5
Метки нет (Все метки)

Почему ругается на открытие файла

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j, RowCount, ColCount: Integer;
  ExcelArr: array of array of Variant;
  d: TDateTime;
begin
 
  MyWorkBook := MyExcel.Workbooks.Open('C:\Documents and Settings\Admin\Рабочий стол\Новая папка\1.xls'); // Здесь
  MyWorksheet := MyWorkBook.Worksheets.Item[1];
 
  RowCount := MyWorksheet.UsedRange.Rows.Count;
 
  ColCount := MyWorksheet.UsedRange.Columns.Count;
 
  SetLength(ExcelArr, RowCount);
 
  for j := 0 to RowCount-1 do
    SetLength(ExcelArr[j], ColCount);
 
  d := Now();
 
  for i := 1 to RowCount do
    for j := 1 to ColCount-1 do
      ExcelArr[i-1, j-1] := MyWorksheet.Cells.Item[i, j].Value;    
 
 
 
end;

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 17:30
Ответы с готовыми решениями:

Ошибка при попытке получения свойства
Доброго времени суток. Столкнулся со следующей проблемой: Имеется тип: ...

Ошибка при попытке извлечь ресурс
Код: procedure ExtractRes(ResType, ResName, ResNewName : String); var ...

[Error SIGSEGV] Возникает ошибка при попытке присваивания
Есть 3 юнита: Первый - основной интерфейс программы Второй - интерфейс...

Ошибка 'Error privileged instruction' при попытке вызвать процедуру
При попытке вызвать процедуру другой формы из другого юнита передаваемую как...

Ошибка при попытке открыть проект: Error Reading Form
Доброе время суток. Можете подсказать с одной проблемой? На днях меня попросили...

5
droider
Universal
Эксперт Pascal/Delphi
4390 / 2438 / 763
Регистрация: 04.10.2012
Сообщений: 8,871
01.02.2014, 20:22 #2
Цитата Сообщение от И_007 Посмотреть сообщение
ругается на открытие файла
переменная MyWorkBook не объявлена.
Delphi
1
2
var
MyWorkBook:Variant;
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25727 / 17281 / 6865
Регистрация: 22.10.2011
Сообщений: 30,484
Записей в блоге: 6
01.02.2014, 22:41 #3
droider, не будь таким самоуверенным. Еще не зная, КАК ИМЕННО ругается, и когда (в компайл-тайме, или в рантайме), уже он ставит диагноз. Может, файла просто нет, или надо (что, в принципе, надо делать всегда, надо просто брать кувалду и вколачивать в головы новичков) преобразовать строку с именем файла в WideString? Или на момент попытки открытия файла экземпляр Excel.Application еще не создан? Кстати, переменная MyExcel тоже здесь не объявлена... Это не значит, что ее нет выше по тексту...
0
droider
Universal
Эксперт Pascal/Delphi
4390 / 2438 / 763
Регистрация: 04.10.2012
Сообщений: 8,871
01.02.2014, 23:09 #4
UI, при просмотре страницы с компа эта строка в посте ТС была выделена красным. Поэтому я указал на переменную.
0
И_007
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 14
08.02.2014, 17:17  [ТС] #5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
unit Test;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ComObj, ActiveX;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  f: text;
   MyExcel,          // экземпляр Excel
  MyWorkBook,       // экземпляр рабочей книги
  MyWorksheet       // экземпляр рабочего листа
    : OleVariant;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
 
var
  i, j, RowCount, ColCount: Integer;
  ExcelArr: array of array of Variant;
  d: TDateTime;
begin
 
  
  MyWorkBook := MyExcel.Workbooks.Open('1.xls');
 
  MyWorksheet := MyWorkBook.Worksheets.Item[1];
 
  RowCount := MyWorksheet.UsedRange.Rows.Count;
 
  ColCount := MyWorksheet.UsedRange.Columns.Count;
 
  SetLength(ExcelArr, RowCount);
 
  for j := 0 to RowCount-1 do
    SetLength(ExcelArr[j], ColCount);
 
  d := Now();
 
  for i := 1 to RowCount do
    for j := 1 to ColCount-1 do
      ExcelArr[i-1, j-1] := MyWorksheet.Cells.Item[i, j].Value;
 
 
 
 
 
end.
0
Миниатюры
Ошибка при попытке открытия документа Excel  
U_Dimas
fatal error
135 / 127 / 29
Регистрация: 10.04.2012
Сообщений: 357
08.02.2014, 17:57 #6
И_007, вроде так:

Delphi
1
2
3
4
5
6
7
 var
 i, j, RowCount, ColCount: Integer;
 ExcelArr: array of array of Variant;
 d: TDateTime;
 begin
 MyWorkBook := CreateOleObject('Excel.Application');
 MyWorkBook.Workbooks.Open('1.xls');
1
08.02.2014, 17:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2014, 17:57

Ошибка: Estringlisterror index out of bounds(5) при попытке удалить компонент из StringList
Создал программу для чтения строки из ListBox, удаления такой же строки в...

Вылетает ошибка при попытке добавления следующей строки в заполняемую таблицу
пытаюсь скопировать из 1 таблицы значение по щелчку в другую, копирует 1...

Чем лучше воспользоваться для открытия документа и его пересохранения?
парни нужно выбрать(OpenDialog) документ , а потом его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru