доступ к объектам Excel через WinAPI

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

MikeM
Сообщения: 23
Зарегистрирован: 25 апр 2005, 12:13

Есть вопрос: как при помощи WinAPI можно получить доступ к содержимому ячеек в Excel-е (ну или другим объектам в файлах другого типа), какаие ф-ции могут помочь?
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

Разные (для файлов другого типа).
А для экселя лучше через MFC или Automation
В SAD - все в SAD.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Перемещена из раздела "Win API, Shells..."
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
MikeM
Сообщения: 23
Зарегистрирован: 25 апр 2005, 12:13

для экселя лучше через MFC или Automation
Судя по тому, что я нашёл в инете по этим инструментам (в частности в MSDN), это наверное больше подходит для работающих на С. А если нужно через VB? Если бы кто-нибудь показал пример - было бы отлично.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Ну, собственно говоря, что спросил - то и получил. Термин WinAPI относится именно к С/C++, а не к VB. После того, как я перенёс вопрос в этот форум, думаю, тебе ответят очень скоро.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Romeo, WinAPI не относится к Ц :) Он относится к Windows. Поскольку ячейки в итоге представляют собой окна, то получить содержимое ячейки можно при помощи GetWindowText.
Как получить хэндл окна ячейки - другой вопрос, но его и не задавали :D
Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Я не говорил, что WinAPI относится к C/C++, прекрасно понимаю, что WinAPI - это часть Windows. Я имел ввиду, что если выбирать между C/C++ и VB, то WinAPI скорее относится к первому, чем ко второму потому, что, насколько это известно мне, в VB нельзя напрямую обращаться к WinAPI (возможно я не достаточно компетентен в VB, но это уже другой вопрос) :) .
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

По поводу вопроса. Вместе с Excel поставляется automatition server, который можно программно стартануть, загрузить в него Excel документ, затем спросить у сервера текст конкретной ячейки. Подробностями, к сожалению не располагаю, потому как работал по этой схеме с Word документом. Вот CLSID COM объекта, представляющего Winword server: "Word.Application". Поищи в инете, наверняка найдёшь то, что нужно.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Romeo, в VB можно подгружать dll-ки, как и в любом другом языке. А стало быть и с WinAPI работать. Другое дело, что топикстартера наверное не WinAPI интересует, а работа с Excel из VB. Посему против переезда топика возражений не имею.
Даже самый дурацкий замысел можно воплотить мастерски
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

AiK писал(а):Romeo, WinAPI не относится к Ц :) Он относится к Windows. Поскольку ячейки в итоге представляют собой окна, то получить содержимое ячейки можно при помощи GetWindowText.
Как получить хэндл окна ячейки - другой вопрос, но его и не задавали :D
А окно ли ячейка?
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Ответить