Всем привет!
Я обрабатываю (вытягиваю данные) таблицу excel через его объекты, и возникла досадная проблема: мне нужен результат поиск некоторого текста, т.е. есть он или нет, я попробовал так:
Но переменная $d всегда пустая (даже если текст есть). Копался в просторах интернета и возникла аналогия вот с этим VB кодом, которая ей и осталась:
Вот полный мой тестовый код:
Я обрабатываю (вытягиваю данные) таблицу excel через его объекты, и возникла досадная проблема: мне нужен результат поиск некоторого текста, т.е. есть он или нет, я попробовал так:
Код:
$d = $FileOpen.Cells.Find("1",Default, $xlValues, $xlPart, $xlByRows, $xlNext, Default)
MsgBox(0,"",$d)
Но переменная $d всегда пустая (даже если текст есть). Копался в просторах интернета и возникла аналогия вот с этим VB кодом, которая ей и осталась:
Код:
Sub Find_Macro()
mystring = "mystring"
Set RangeObj = Cells.Find(What:=mystring, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If RangeObj Is Nothing Then MsgBox "Not Found" Else RangeObj.Select
End Sub
Вот полный мой тестовый код:
Код:
#include<Excel.au3>
#include<Array.au3>
#include <File.au3>
Func Activate($T); функция находит ячейку с текстом, акт-т ее
.Cells.Find($T,Default, $xlValues, $xlPart, $xlByRows, $xlNext).Activate ;поиск ячейки с текстом "..."
EndFunc
$Exp_Dir = "C:\Documents and Settings\Администратор\Рабочий стол\1\"
$hFile = FileFindFirstFile($Exp_Dir&"*.xls")
$sFile = FileFindNextFile($hFile)
If @error Then
MsgBox(0,"","Нет файла Excel")
EndIf
$FileOpen = _ExcelBookOpen($Exp_Dir&$sFile,0,True)
If $FileOpen == -1 Then
MsgBox(4096,"Ошибка открытия файла", "Файл "&$sFile&" не был открыт")
Exit
EndIf
$d = $FileOpen.Cells.Find("1",Default, $xlValues, $xlPart, $xlByRows, $xlNext, Default)
MsgBox(0,"",$d)