Я недавно начал изучать VBA, освоил, в принципе, ту часть, которая относится к, пожалуй, основным приложениям MS Office - Excel, Word. Но хотелось бы пойти дальше. Я знаю, что можно работать с web-страницами, но можно ли с тем же успехом использовать VBA в работе со сторонними приложениями типа СУБД, где есть поля, кнопки, фильтры, которые необходимо изменять, нажимать, выбирать?
И второй вопрос, в продолжение темы - существует ли какая-либо книга, ресурс, где структурировано, с примерами, с пояснениями описывается та часть теории VBA, о которой выше шла речь? Не в виде справочника, что есть такой-то объект, у него такие-то свойства и методы и т.п., а именно идет повествование, ну или урок. Ведь примеры кода, конечно, можно найти, или попросить написать, только от этого понимания этого кода не прибавится. А хотелось бы знать теорию. Посоветуйте, пожалуйста, что прочесть.
Причём тут СУБД и кнопки с фильтрами? Чтобы "пойти дальше", надо сначала уметь работать с базами данных, а потом использовать специальные библиотеки, работающие с СУБД, в которых
Цитата
есть такой-то объект, у него такие-то свойства и методы и т.п.
Вы меня неправильно поняли. Я не имею ввиду подключение к самим базам. Я имею ввиду работу с их пользовательским интерфейсом. Представьте ситуацию. Есть бд, но доступа к ней нет и не будет никогда ввиду политики безопасности. Она доступна только для просмотра имеющейся информации посредством пользовательского интерфейса. Естественно, интерфейс имеет элементы управления. Вопрос в том, можно ли задействовать эти элементы, посылая команды нажатия клавиш, например, активации текстовых полей и т.п.
AndreV написал: можно ли задействовать эти элементы, посылая команды нажатия клавиш
это плохая идея. Такие варианты далеко не всегда работают как надо. Сделать можно, но для этого изучите для начала структуру ОС и работу с окнами(дескрипторы окон, как их получить, как определить класс окна и т.п.). Для этого надо вникнуть еще и в работу с функциями API. Но лучше уточнить нюансы работы с приложением. У многих приложений есть свои библиотеки с реализацией iDispatch, на которые можно поставить ссылку в VBA проекте и подключаться напрямую к приложению. И тогда нужна будет справка по приложению, его объектам, свойствам и методам. И это куда практичнее. Будет что-то вроде работы с Word из Excel: Как из Excel обратиться к другому приложению
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
AndreV написал: Ну а что по поводу литературы по предмету?
А нет никаких специальных книг, типа: "Как из Excel работать с другими приложениями". Есть MSDN, на котором уже все написано с примерами. Как правило этого вполне достаточно и большинство читало именно это + стандартная справка.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
AndreV написал: Вопрос в том, можно ли задействовать эти элементы, посылая команды нажатия клавиш, например, активации текстовых полей и т.п.
Не понял. Вы хотите со своего компа управлять интерфейсом, например, Management Studio (в случае с SQL Server'ом) на другом компе? Management Studio - это такой же клиент. Он отсылает запросы в SQL OS, которая обрабатывает запросы и выдаёт результат. Так что вы можете делать то же самое - с помощью команд T-SQL.
SuperCat написал: Вы хотите со своего компа управлять интерфейсом, например, Management Studio (в случае с SQL Server'ом) на другом компе?
С этим мне все понятно. Вариант с работой с библиотеками приложений меня вполне устраивает. Плюс вот еще Autoit посоветовали, хотя я еще не посмотрел, счем это едят.
Цитата
The_Prist написал: А нет никаких специальных книг, типа: "Как из Excel работать с другими приложениями".
MDSNи справка - они как-то "без души" написаны. Сухо. Но может есть какие-то хорошие издания, посвященные углубленному уровню изучения VBA? Я имею ввиду не просто книги, т.к. такие наверняка есть, а те, которые кто-то прочел и может отрекомендовать, как действительно полезную литературу.
У каждого свои предпочтения к изучению. Мне вот нравятся некоторые книги по углубленному изучению - но они написаны по типу MSDN. Но мне понятно, т.к. там описываются нужные и интересные мне вещи. Душу я потом сам туда добавляю
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...