QAxWidget *excel = new QAxWidget("Excel.Application"); excel->setProperty("Visible", true); excel->setProperty("DisplayAlerts", "0"); // Это мне надо, отключает гуеву ругань на различного рода ошибки, чтоб процесс выполнения программы на ошибках и предупреждениях не прерывался QAxObject *workbooks = excel->querySubObject( "Workbooks" ); //получаем ссылу на коллекцию книг QAxObject *shab = workbooks->querySubObject("Open(const QString&)", "путь\\имя_файла.xls"); // открываем книгу, хранящуюся на диске, и получаем на нее ссылу QAxObject *sheet = shab->querySubObject("Worksheets(2)"); // получаем ссылу на искомый лист QAxObject *range = sheet->querySubObject("Range(const QVariant&)", QVariant(QString("D6"))); // ссыла на ячейку, в которой используется проверка вводимых значений QAxObject *or = range->querySubObject("Validation"); //ссылка на обьект реализующий контроль вводимых значений, называется почему-то Validation-ом (очень долго я его искал :() QString s = or->dynamicCall("formula1").toString(); // получаем формулу этого обьекта, в моем случае она хранит именованый массив(range) = name name = shab->querySubObject("Names(const QVariant&)", QVariant(s));//получаем ссылку на именованный массив s = name->dynamicCall("RefersTo").toString();//получаем ссылку на массив допустимых значений, что мне и нада