Помогите, пожалуйста узнать имена листов документа Excel, мои жалкие попытки ни к чему не привели
Этот топик читают: Гость
Ответов: 199
Рейтинг: 44
|
|||
карма: 0 |
| ||
файлы: 1 | tabexel_with_oledbdatasource.sha [6.6KB] [149] |
Ответов: 8926
Рейтинг: 823
|
|||
vovs, Excel>Сервис>Макросы>Редактор Visusl Basic>Справка>Поиск интересующее Вас место с комментариями
SHA обрезался, пришлось добавить RAR |
|||
карма: 19 |
| ||
файлы: 1 | Листexcel.rar [2KB] [117] | ||
Голосовали: | vovs |
Ответов: 199
Рейтинг: 44
|
|||
Леонид, то что надо, спасибо.
|
|||
карма: 0 |
|
Ответов: 1058
Рейтинг: 76
|
|||
Аналогичный вопрос, но без установленного офиса.
Везде, имена листов узнаются с помощью скрипта, а он без офиса не фурычит. Примеры с DS_ODBC без офиса пашут, но так и не нашел как узнать имена листов. Может кто сталкивался с подобным |
|||
карма: 0 |
|
Ответов: 1343
Рейтинг: 31
|
|||
и ещё вопросик почти по теме...
как вытащить данные из таблицы сделанной на том же Excel (форматы могут быть разные, но восновном стандартный xlsx) |
|||
карма: 2 |
|
Ответов: 1058
Рейтинг: 76
|
|||
карма: 0 |
|
Ответов: 758
Рейтинг: 112
|
|||
карма: 1 |
|
Ответов: 8926
Рейтинг: 823
|
|||
tom-it писал(а): ..не нашел как узнать имена листов..У меня Office 2003 года, близко к окончанию файла после ключа четырёхбайтных (cardinal) слов "11 0 11 0 4126" прописано количество листов (cardinal), затем имена в формате "число байт в имени (cardinal), символы (byte)". code_34001.txt |
|||
карма: 19 |
| ||
файлы: 1 | code_34001.txt [3.1KB] [195] | ||
Голосовали: | tom-it |
Ответов: 1058
Рейтинг: 76
|
|||
Леонид писал(а): Просто поленился искать Не поленился, просто искал как составить запрос - не нашел. И ничуть не задумывался о возможности Леонид писал(а): к окончанию файла после ключа четырёхбайтных (cardinal) слов "11 0 11 0 4126" прописано количество листов (cardinal), затем имена в формате "число байт в имени (cardinal), символы (byte)".Кстати пример вылетает с "Runtime error 207 at 000025FB" на штатном KOL(правленого нет под рукой). |
|||
карма: 0 |
|
Ответов: 8926
Рейтинг: 823
|
|||
tom-it, а у меня штатного нет Работает, но сбивается со счёта при наличии макросов и именованых ячеек и диапазонов, они тоже здесь, в общей куче
a-radio.jpg a-radio2.jpg |
|||
карма: 19 |
| ||
файлы: 2 | a-radio.jpg [19.2KB] [320], a-radio2.jpg [9.6KB] [328] |
Ответов: 9906
Рейтинг: 351
|
|||
карма: 9 |
| ||
Голосовали: | tom-it |
Ответов: 1058
Рейтинг: 76
|
|||
tom-it писал(а): пример вылетает с "Runtime errorНу правильно, а как не вылетать... И KOL тут не причем Если для For окончанием цикла является -4891434509982580000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000 Леонид Вы говорили о cardinal, а во втором цикле случайно real поставили. Так что все работает, спасибо |
|||
карма: 0 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Леонид, это называется BIFF формат файла (и скорей всего Вы эти значения не хакали методом тыка а взяли из мануала на формат xls)
[flood]Я не так давно (до отпуска) частично для записи в xls перевёл в кол из пурика BIFF2 и из VCL BIFF5, в документации от мелкомятых разобраться не удалось но есть альтернативная "OpenOffice.org's Documentation of the Microsoft Excel File Format" [/flood] |
|||
карма: 4 |
|
Ответов: 8926
Рейтинг: 823
|
|||
andrestudio писал(а): ..не хакали методом тыка..[flood]На пенсии давно, за достойную работу родное государство обеспечило мне достойную старость! [/flood] |
|||
карма: 19 |
|
Ответов: 758
Рейтинг: 112
|
|||
Есть способ получить список листов с помощью ADO методом .OpenSchema(adSchemaTables) ТУТ пример на VBA Excel
Можно попробовать адаптировать под делфи |
|||
карма: 1 |
|