Название: COM + Excel + ComboBox Отправлено: CroCIV от Сентябрь 07, 2009, 14:20 попробую задать не тривиальный вопрос, а вдруг кто сталкивался:
Есть документ xls, в нем есть несколько листов на которых есть различные элементы управления ActiveX (например выпадающий список привязанный к определенным ячейкам), задачи: 1. Получить список всех элементов управления на листе (тип название) 2. Получить указатель на элемент по его имени 3. Выполнить любые манипуляции. Не хватает смекалки по 1 и 2 задачам, и загуглить не получается, зацепу бы, мб кто уже с таким декувался? За ранее благода ::) Название: Re: COM + Excel + ComboBox Отправлено: Tonal от Сентябрь 08, 2009, 07:50 Смотри доку по автоматизации Excel-я.
Название: Re: COM + Excel + ComboBox Отправлено: CroCIV от Сентябрь 08, 2009, 12:36 Смотрю в МСДН вижу фигу
http://msdn.microsoft.com/ru-ru/library/microsoft.office.interop.excel(en-us).aspx вроде как вот искомое пространство имен, но оно какое-то пустоватое, если лезть вглубь например на уровень книги или листа и смотреть чд чф, то они вообще предательски пустые, к примеру вот http://msdn.microsoft.com/ru-ru/library/microsoft.office.interop.excel.application_members(en-us).aspx какбэ я не адепт, воду заряжать через телевизоры, угадывать неописанные свойства и методы ниумею :-\ Смотрим рисунок (http://file.qip.ru/file/100193079/1bfc9792/_online.html) рядом с ячейкой приволжский ФО видим кнопку вроде как от комбобокса с выпадающим списком кто знает, что это такое? Название: Re: COM + Excel + ComboBox Отправлено: CroCIV от Сентябрь 08, 2009, 12:38 рисунок http://file.qip.ru/file/100193079/1bfc9792/_online.html
Название: Re: COM + Excel + ComboBox Отправлено: Tonal от Сентябрь 09, 2009, 07:53 Доставь в MS Office справку по VBA - там всё очень подробненько описано. :)
Название: Re: COM + Excel + ComboBox Отправлено: CroCIV от Сентябрь 09, 2009, 15:54 Спасибо, Тонал, помогло сдвинутся с мертвой точки :D
получилось вот чего: Код: QAxWidget *excel = new QAxWidget("Excel.Application"); Теперь занет поиском алгоритма как получить значения из этого списка сразу массивом, а не в цикле по одной. Мб кто поделится ссылкой, а то я нуб в VBA оч медленно вперед толкаюсь? ::) Название: Re: COM + Excel + ComboBox Отправлено: Tonal от Сентябрь 10, 2009, 06:50 Можно для региона ячеек получить массив значений в виде массива Variant-ов.
Может это тебе как-нибудь поможет. :) Ну и ещё, можно написать ActiveX dll и подгрузить в Excel. Тогда скорость всех вызовов ускорится примерно на порядок. :) Название: Re: COM + Excel + ComboBox Отправлено: CroCIV от Сентябрь 10, 2009, 08:32 Можно для региона ячеек получить массив значений в виде массива Variant-ов. Хорошо, получили массив вариантов, а как его теперь в Qt вытащить? как-то получить абсолютный адресс на этот массив в памяти и из одного процесса получить доступ к памяти дгурого процесса? ::)Может это тебе как-нибудь поможет. :) Название: Re: COM + Excel + ComboBox Отправлено: Tonal от Сентябрь 10, 2009, 11:04 Да не. В твой процесс честно весь массив приедет. :)
А как с этим в Qt работать - я не в курсе смотри доку. Название: Re: COM + Excel + ComboBox Отправлено: CroCIV от Сентябрь 10, 2009, 15:07 Чет я понять не могу, вот после вызова QAxObject->dynamicCall(...) в QVariant неизвестно как упал массив неизвестной структуры, теперь как преобразовать этот QVariant так, чтоб в конечном счете выцепить из него свою табличку?
Почему массив символов удается получить на ура, а массив чисел уже нет ? уж не говоря о двумерных массивах? |