VB 2005
Dim appExcel As ExcelApplication = Nothing
appExcel = New ExcelApplication
appExcel.Workbooks.Open("E:\...Книга1xls")
Dim x As Object
x = appExcel.Cells(2,7)
If x<0,2 Then sb3() Else sb54()
appExcel = Nothing
End Sub
(Operator '<' is not defined for type 'Range' and type 'Double')
Может быть кто подскажет: " Чё ему надо":confused:
Так он же говорит, что не может сравнивать переменные разных типов. Нужно преобразование типов
Вероятнее всего, надо написать так:
[color=blue]If x.Value<0,2 Then[/color]
Для r000n_m:
В этом сообщении речь идёт не только о различии в типах данных сравниваемых значений, но и о том, что оператор '<' не определён для данных типа 'Range' (т.е. не может быть применён для работы с такими типами данных).
Обратите внимание на то, что выражение [color=blue]appExcel.Cells(2,7)[/color] ссылается на ячейку рабочего листа книги Excel, т.е. на объект [color=blue]типа 'Range'[/color].
Так если он не определен то как раз и не может сравнивать
Я же говорю о том, что надо получить значение ячейки, которое может, например, быть целым числом. Однако несмотря на различие типов данных операция сравнения значений будет возможна. Дело в том, что приведение типов чаще всего выполняется автоматически, главное - это чтобы оно было допустимо в принципе.
Эх.. Ладно, соглашусь