|
#1
|
||||
|
||||
Данные из Excel
Доброго дня всем. Возник вопрос при получении данных из файла Excel. Данные берутся из файла и грузятся в RichEdit. Если делать таким образом:
Код:
var Ex, WorkBook, Sheet, dir, mon, dat, sl: Variant; d1 : String; d1:= Sheet.Range['AC6']; begin dir:=Edit1.Text; sl:=Edit4.Text; mon:=Edit2.Text; dat:=Edit3.Text; Ex := CreateOleObject('Excel.Application'); WorkBook := Ex.WorkBooks.Open(''+(dir)+''+(sl)+''+(mon)+'.xls'); Sheet := WorkBook.WorkSheets[dat]; RichEdit1.Clear; RichEdit1.Lines.Add(''+d1+''); Ex.ActiveWorkBook.Close(0); Ex.Quit; Код:
var Ex, WorkBook, Sheet, dir, mon, dat, sl: Variant; d1 : String; d1:= Sheet.Range['LabeledEdit1.Text']; begin dir:=Edit1.Text; sl:=Edit4.Text; mon:=Edit2.Text; dat:=Edit3.Text; Ex := CreateOleObject('Excel.Application'); WorkBook := Ex.WorkBooks.Open(''+(dir)+''+(sl)+''+(mon)+'.xls'); Sheet := WorkBook.WorkSheets[dat]; RichEdit1.Clear; RichEdit1.Lines.Add(''+d1+''); Ex.ActiveWorkBook.Close(0); Ex.Quit; При таком варианте, не может найти ячейку в книге, ругается Excel при открытии. В чем мой так сказать, косяк? Благодарю за помощь. |
#2
|
|||
|
|||
В том, что ты тормоз:
Код:
d1:= Sheet.Range[LabeledEdit1.Text]; PS. Ну и в секцию кода перенеси эту строку |
#3
|
||||
|
||||
При таком варианте
Код:
d1:= Sheet.Range[LabeledEdit1.Text]; |
#4
|
||||
|
||||
Цитата:
Точно, тормоз. Все работает. Спасибо за подсказку. |
#5
|
|||
|
|||
Да, бывает.
Иной раз смотришь на ошибку и не видишь ее. Сходишь кофейку попить/покурить/с народом потрындеть, глянь, а оно вот оно... |