Здравствуйте!
Необходимо из Excel взять данные .
Фрагмент кода ниже.
Компиляция проходит.При пошаговом прохождении программа ругается на
строку :
If Range("A1"):SpecialCells(xlLastCell):Value = ""
Пишет: "неизвестная функция".
С помощью данной конструкции можно корректно выделить весь диапазон данных
на листе.Через макросы это работает идеально.Придумал не сам, а взял из книги по EXEL.Очень удобная штука,ни когда не подводила.
Может быть кто подскажет как ее "прикрутить"
FUNCTION EXEL_DBF ()
#include "excel.ch"
#define xlLastCell 11
#define xlByRows 1
#define xlPrevious 2
#define xlByColumns 2
LOCAL oApp,oWorkBook,oWorkSheet,oRange,cFileName
LOCAL nLine:=3,iRow
cFileName:='C:\temp\main.xls'
dbPush()
TRY
oApp := CreateObject( "Excel.Application" ) //попытка создать объект Excel
CATCH
Alert("Excel не доступен!")
RETURN .F.
END
altd()
try
oWorkBook:=oApp:WorkBooks:open(OemToAnsi(cFileName),0)
catch
alert('Ошибка открытия входного файла. Не удалось открыть файл.')
RETURN .F.
end
try
oWorkSheet:=oWorkBook:worksheets(OemToAnsi('MAIN'))
catch
alert('Ошибка открытия входного файла. Не удалось открыть лист с данными')
RETURN .F.
end
//'поиск последней заполненной ячейки на листе
oWorkSheet:Select()
If Range("A1"):SpecialCells(xlLastCell):Value = ""
Cells(Cells:Find("*", ActiveCell:SpecialCells(xlLastCell), , , xlByRows, xlPrevious):Row, Cells:Find("*", ActiveCell:SpecialCells(xlLastCell), , , xlByColumns, xlPrevious):Column):Select()
Else
Range("A1"):SpecialCells(xlLastCell):Select()
EndIf
iRow = Selection:Row
oApp:visible:=.T.
dbpop()
return
Необходимо из Excel взять данные .
Фрагмент кода ниже.
Компиляция проходит.При пошаговом прохождении программа ругается на
строку :
If Range("A1"):SpecialCells(xlLastCell):Value = ""
Пишет: "неизвестная функция".
С помощью данной конструкции можно корректно выделить весь диапазон данных
на листе.Через макросы это работает идеально.Придумал не сам, а взял из книги по EXEL.Очень удобная штука,ни когда не подводила.
Может быть кто подскажет как ее "прикрутить"
FUNCTION EXEL_DBF ()
#include "excel.ch"
#define xlLastCell 11
#define xlByRows 1
#define xlPrevious 2
#define xlByColumns 2
LOCAL oApp,oWorkBook,oWorkSheet,oRange,cFileName
LOCAL nLine:=3,iRow
cFileName:='C:\temp\main.xls'
dbPush()
TRY
oApp := CreateObject( "Excel.Application" ) //попытка создать объект Excel
CATCH
Alert("Excel не доступен!")
RETURN .F.
END
altd()
try
oWorkBook:=oApp:WorkBooks:open(OemToAnsi(cFileName),0)
catch
alert('Ошибка открытия входного файла. Не удалось открыть файл.')
RETURN .F.
end
try
oWorkSheet:=oWorkBook:worksheets(OemToAnsi('MAIN'))
catch
alert('Ошибка открытия входного файла. Не удалось открыть лист с данными')
RETURN .F.
end
//'поиск последней заполненной ячейки на листе
oWorkSheet:Select()
If Range("A1"):SpecialCells(xlLastCell):Value = ""
Cells(Cells:Find("*", ActiveCell:SpecialCells(xlLastCell), , , xlByRows, xlPrevious):Row, Cells:Find("*", ActiveCell:SpecialCells(xlLastCell), , , xlByColumns, xlPrevious):Column):Select()
Else
Range("A1"):SpecialCells(xlLastCell):Select()
EndIf
iRow = Selection:Row
oApp:visible:=.T.
dbpop()
return