0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
1 | |
Как открыть файл Excel (sdkxll)?28.08.2020, 15:49. Показов 19901. Ответов 18
Метки нет (Все метки)
0
|
28.08.2020, 15:49 | |
Ответы с готовыми решениями:
18
Как открыть конкретный excel-файл? Открыть папку и выделить файл/открыть файл в Excel Как открыть html-файл через MS Word и MS Excel? Как открыть excel файл? |
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
28.08.2020, 16:33 | 2 |
Ты расширение для Excel собрался делать? Или тебе просто нужно открыть документ excel?
Для чего тебе понадобилась xll?
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 20:28 [ТС] | 3 |
Есть макрос на vba, запускаемый с открытой книги.
1. Запрос на открытие файла с исходными данными 2. Копируется очень большой диапазон данных, который вставляется в книгу с расчетами 3. Вычисляются все формулы книги 4. В цикле все повторяется много раз проблема в больших объемах данных и большом количестве формул, результат очень медленное выполнение макроса это в общих чертах. пробую сделать xll для ускорения работы. это также можно сделать без надстройки, просто отдельной программой, так как никаких действий в самом Excel нет.
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 20:34 | 4 |
Думаешь, xll здесь поможет?
Возможно здесь проблема в неправильной организации данных, либо в выборе Excel в качестве хранилища.
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 20:36 [ТС] | 5 |
от Excel отказаться нельзя
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 20:39 | 6 |
Ну и, вполне вероятно, что сам скрип криво написан
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 20:41 [ТС] | 7 |
можно сделать отдельной консольной программой, открывая оба файла, с использованием sdk xll. Надеюсь это будет работать быстрее.
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 20:46 | 8 |
По-моему, xll только в сам Excel грузится. Возможно ты имел ввиду com-объекты для работы с Excel? https://docs.microsoft.com/en-... -fill-data
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 20:50 [ТС] | 9 |
извините, имела ввиду консольное приложение с использованием sdk
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 21:01 | 10 |
В любом случае, вряд ли ты что-то ускоришь. VBA вполне нормально работает. Надо оптимизировать данные и скрипт.
Добавлено через 7 минут https://superuser.com/question... es-via-vbs
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 21:10 [ТС] | 11 |
скрипт простейший - копирование и вставка. Все что возможно отключено, перерасчет формул вручную. Данные оптимизировать невозможно- к ним нет доступа. Спасибо за ответ.
Добавлено через 4 минуты Да и копирование не по ячейкам, а сразу одним куском.
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 21:14 | 12 |
А что именно тормозит?
Добавлено через 1 минуту Копирование через буфер обмена что-ли сделано?
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 21:17 [ТС] | 13 |
в основном вычисление формул. данных очень много и количество циклов тоже(зависит от количества строк исходного файла)
Добавлено через 59 секунд копирование copy и pastespecial
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 21:22 | 14 |
Т.е. формулы всё-таки вычисляются в скрипте?
Покажи кусок этого скрипта Добавлено через 2 минуты Не лучше будет экспортировать эти данные в базу, в тот же Access, рассчитать там всё что надо и экспортировать обратно в Excel?
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 21:36 [ТС] | 15 |
Application.Calculation = xlCalculationManual ---- в начале скрипта
.............. wsSheet1.Range(rangeX).Copy wsBook2.Worksheets("Source").Range(rangeY).PasteSpecial Application.Calculation = xlCalculationAutomatic ............... Application.Calculation = xlCalculationManual Добавлено через 3 минуты не знаю что и как считается,нет доступа к формулам тоже, поэтому только Excel
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
29.08.2020, 21:39 | 16 |
Тормозит, я так понимаю, здесь?
А что ты тогда собиралась в xll делать? И про какие циклы та говорила?
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
29.08.2020, 21:43 [ТС] | 17 |
excel 2010 64 разряда, может без Vba расчеты будут быстрее. На форумах есть такие сообщения и ссылка на c++ sdk xll
0
|
18.09.2020, 18:16 | 18 |
Пользуюсь своей xll, но пока не пойму, чем это вам поможет. Если будите писать свои UDF, то да профит будет.
Возможно вы копируете формулы, и они вычисляются. Что у вас после ".PasteSpecial"? (обычно указывается, что копируем, к примеру формат - PasteSpecial Paste:=xlPasteFormats)? Приложите полный код на VBA.
0
|
0 / 0 / 0
Регистрация: 19.08.2020
Сообщений: 12
|
|
18.09.2020, 18:51 [ТС] | 19 |
В копируемом файле только значения, формул нет. Но после копирования выполняется расчет формул по всей книге. Формул много и много ссылок на другие листы.
Частично уже сделала xll. Получается, чем больше формул в книге, тем большая разница в скорости вычислений, и xll работает в несколько раз быстрее.
0
|
18.09.2020, 18:51 | |
18.09.2020, 18:51 | |
Помогаю со студенческими работами здесь
19
Как программно открыть Excel файл? Как открыть существующий Excel файл? Как открыть Excel файл через datagridview? Как открыть файл Excel на сетевом диске? Как открыть уже созданный файл Excel? Как открыть файл excel для записи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |