Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Взаимодействие с Excel

Страниц (1): [1]
 

1. Dalex - 29 Октября, 2019 - 08:53:07 - перейти к сообщению
 Kibor пишет:


Есть идея сделать подобие ИИ путем использования мощи базы данных и математического аппарата со скриптами в Excel, откуда будет запускаться процедура обработки написанная на Кибор ("общающаяся" например, с браузерным приложением).

Выполняя предопределенные действия (стандартные по описанию, а так же согласно формируемого в Excel плана ...) возвращает обратно (в Excel) распознанные данные (запись в таблицы листов), затем их обработка и последующее "двустороннее общение".
(Добавление)
Знаю как на VBA писать скрипты для обработки (форматирования...) данных из буфера обмена (или файлика txt) по дальнейшей разноске.

Но хотелось бы механизм относительно прямого заполнения листа (пусть единстаенного запущенного файла *.xlsm)

Или явной активации записанного макроса.

Нечто делал в теперь к сожалению умершем проекте MouseRobot

1.Создание привязки

On Error Resume Next
Set oE = GetObject(, "Excel.Application")
If Err <> 0 Then
msgbox "Excel не открыт!"
WScript.SetValue "{Er}", 1
end if
Set objDoc = oE.Workbooks("E.xls")
If Err <> 0 Then
msgbox "Файл не открыт!"
WScript.SetValue "{Er}", 1
end if

2.Запуск обработчика (макроса)

Call oE.Run("E.xls!O_ITP")
(Добавление)
Забавно в смайлики завершило строки )))

Использование буфера обмена не совсем ясно.
Интернет тут никчему (обмен на локале).
Только не между 2-мя программами Кибор,
а именно по схеме
Excel <==> Кибор <==> Браузер
(Добавление)
Возможно имеется и продвинутый функционал, навроде
' a=objDoc.workSheets("IMPORT_").cells(1,1).value
если удобно, напишите ссылки где можно доходчиво ознакомиться
и... не судите строго новичка ))
2. Dalex - 11 Декабря, 2019 - 07:44:55 - перейти к сообщению
Пока сложность в том, что Excel принимает команду как СИМВОЛ
(хотя при нажатии в окне "вручную" по этой клавише запускает нужный макрос).

Что сделать, чтобы запускать в окне Excel предопределённый макрос??

Думал много, но всё достаточно кривое
(наиболее близкое сделать в Excel запуск макроса на активацию книги,
а в Кибор соответственно кликнуть на пиктограмму Excel и тут же его свернуть,
вернуть фокус нужному окну... должно сработать, но криво же...)

Подскажите старожилы КАК... ?
(Добавление)
CODE:
string text_KIB;
loadsymbolbase("C:\K\basetext.sib");
string s;

readtext(RU, #text_KIB, 8, 1, -1, -1, -1, -1, -1, 0, -1, 654, 652, 928, 687, -1);

s="11;"+text_KIB; //добавляю ключ кода управления, чтобы Excel понял что с полученным делать
writeclipboard(s); //записываю в буфер обмена

win w=window ("FOE_M.xlsm - Excel", "XLMAIN", -1); //навожу на открытую книгу для обработки
postmessage(WM_CHAR, 89, 0, w); //запускаю макрос-обработчик в Excel

sleep(3000); //пока просто таймаутом ожидаю, доделаю чтобы стучался
readclipboard (s); //забираю ответ из буфера обмена, доделаю на сравнение с нужным ответом
textout(0, 100, 50, "Go! "+s, 0); //справочно уведомляю что в итоге понял Кибор
sleep(3000); //успеть прочесть на экране
3. Dantes3000 - 11 Декабря, 2019 - 07:51:08 - перейти к сообщению
Dalex , можно сделать макрос с автоматическим запуском и просто кибором открывать книгу эксель.
(Добавление)
Еще можно вывести кнопку макроса на панель и нажимать ее
4. Dalex - 12 Декабря, 2019 - 02:57:06 - перейти к сообщению
Это конечно тоже вариант, спасибо.

Ещё можно Excel просто держать поверх всех приложений на экране, а браузер во весь экран за ним и там в спецрежиме обрабатывать Кибором, нажимая кнопку запуска макроса в обычном режиме (он же тут), но опять же это всё костыли...

Ведь свёрнутое окошко Excel определяется Кибором нормально, сигнал идёт именно в него, что же именно мешает Excel-ю воспринять не символом, а командой? ... Было бы всё чётко.
5. Dantes3000 - 12 Декабря, 2019 - 06:52:38 - перейти к сообщению
 Dalex пишет:
что же именно мешает Excel-ю воспринять не символом, а командой? ... Было бы всё чётко.

Так в свёрнутое окно Excel можно тоже нажимать кнопки. Тогда не надо никакие команды

Powered by ExBB FM 1.0 Final