|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Импорт данных из Excel Здравствуйте, при попытке импортировать файл возникает ошибка "К сожалению нам не удалось найти файл H:\Pro\1.xls. Возможно он был перемещен, переименован" Код: ExcelApp := CreateOleObject('Excel.Application');
 ExcelApp.Workbooks.Open('H:\Pro\1.xls')Подскажите, почему возникает такая ошибка? | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Ну, для начала проверь, что файл не заблокирован (например, уже не открыт в другой копии Excel'я). | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Excel не запущен. Файл не открыт. После нажатия на команду по которой должен работать код Код: ExcelApp := CreateOleObject('Excel.Application');
 ExcelApp.Workbooks.Open('H:\Pro\1.xls') | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   Ну, у меня это работает: Код: procedure TForm1.Button1Click(Sender: TObject);
var
  ExcelApp : Variant;
  Workbook : Variant;
begin
  ExcelApp := CreateOleObject('Excel.Application');
  Workbook := ExcelApp.Workbooks.Open('C:\Users\xxxxx xxxxxx\Documents\Сказка.Оружие.xls');
  ExcelApp.Visible := True;
end;Если задать неправильно имя файла (добавил "1" в имя в конце), то действительно вылетает ошибка. Т.е. подозреваю, что все-таки что то не так с именем файла. Попробуй для начала выбрать файл в OpenDialog: Код: procedure TForm1.Button1Click(Sender: TObject);
var
  ExcelApp : Variant;
  Workbook : Variant;
begin
  if OpenDialog1.Execute then
  begin
    ExcelApp := CreateOleObject('Excel.Application');
    Workbook := ExcelApp.Workbooks.Open(OpenDialog1.FileName);
    ExcelApp.Visible := True;
  end;
end;ЗЫ. Еще вариант - неправльный формат файла. | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Изначально я хотел записать из уже созданного заранее файла Excel с  заданным количеством строк и столбцов в массив числовые данные. Код:  ExcelApp := CreateOleObject('Excel.Application');
  ExcelApp.Workbooks.Open('C:\Pro\1.xlsx');
xx := ExcelApp.ActiveCell.Row;
 yy := ExcelApp.ActiveCell.Column;
for i:=1 to yy do
   for j:=1 to xx do
   Mas[i,j]:=
 | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   Что то типа того: Код:     // Access the first worksheet
    Worksheet := Workbook.Worksheets[1];
    // Access a specific cell (e.g., A1)
    Cell := Worksheet.Cells[1, 1];
    CellValue := Cell.Value; |