|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
Доброго времени суток Весной занимался макросом импорт из word в access (да, такой нужен; word - excel - access в моём случае не вариант). Код уже видели тут, ну вот он: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Написал. Заточил под определённую таблицу word. Далее занимался другими вещами, про ворды благополучно забыл. Но далее возникла необходимость импортировать из ворда. Попались многостраничные документы с таблицами овер 20 килострок. И тут стало видно, что такое колличество строк импортируется не просто со скрипом, а с очень жутким скрипом. Импорт мог занять 2+ часов времени. А вернее не сам импорт, а именно обработка данных ворда. Чем больше строк обрабатывается, тем сильнее замедляется программа. Импортировать, скажем, первые 500 строк и импортировать последние 500 той же таблицы - две разные картины по времени. Я думал как оптимизировать макрос. Занимался различными извращениями. Пытался импортировать по 500 - 1000 строк в цикле, закрывать и открывать документ, аппликейшн, рекордсет внутри цикла - думал, что импортировать не сразу, а по n, но постоянно с новой строки будет быстрее. Ничего более умного по этому вопросу не нашёл, ииии... Хочу в очередной раз поизгаляться. Думаю попробовать создать массив на колличество страниц документа. Каждый раз открывать новую страницу и импортировать данные с размещённой на ней таблицы. Знаю как делать такое для листов экселя, а вот с вордом не получается. И возможно ли? Если известен правильный способ оптимизации, то было бы очень здорово. Но и даже если нет, я буду рад узнать как делать постраничный импорт из ворда, пусть он мне и не поможет. Заранее спасибо В данный момент не могу понять как импортировать именно тот фрагмент таблицы, размещённый на выбранном листе (таблица одна на многих страницах) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 12:26 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
Прошу прощения. Перенесите тему в раздел Access Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 12:37 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
автор Попались многостраничные документы с таблицами овер 20 килострок. это примерно 300 листов, что для ворда --почти предел возможностей. даже сверх возможностей какой версии ворд ---? может обрабатывать как xml или html ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 14:47 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАкакой версии ворд ---? может обрабатывать как xml или html Конкретно такие документы видел 97 - 2003. Обрабатывать как xml и html их не хотят по той же причине, по которой не загоняют их в excel - криво встают. К тому же не быстро. В акс оно загоняется пусть и очень долго, но без косяков ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 15:23 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
Появилась безумная идея. Бить файл на несколько постранично (но из акса, т.к. наличие интерфейса в аксе обязательно). Далее отбирать полученные документы мультиселектом, а потом импортировать из файлов массива в одну таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 15:33 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
Ataxyword - excel - access в моём случае не вариант А почему? Ведь копирование - вставка в excel можно автоматизировать, а там хоть в массив, хоть стандартным импортом... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 15:42 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
Отказаться от Word-а. Или вставлять в него листы Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 15:55 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
авторВедь копирование - вставка в excel можно автоматизировать Как я понял, макросом? Мне будет полезно узнать. Т.к. штатный импорт этих файлов даёт косяки. И, дело ещё в том, что время от времени для работы будут привлекаться сторонние юзеры. А для них нужно чтобы они кнопки на форме акса прожали и всё произошло. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 15:58 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
AtaxyПЕНСИОНЕРКАкакой версии ворд ---? может обрабатывать как xml или html Конкретно такие документы видел 97 - 2003. Обрабатывать как xml и html их не хотят по той же причине, по которой не загоняют их в excel - криво встают. К тому же не быстро. В акс оно загоняется пусть и очень долго, но без косяков я достаточно часто делала это , переведя ворд в --тхт --если не было переносов в ячейках +импорт --НТМ --если переносы были, но НТМ получала программно из ворда, применяя только стандартные теги и кавычку перед числовыми значениями+импорт во временную таблицу с текстовыми полями(исключительно), после проверки в аксессе и правки --запись в основную таблицу(правили операторы) --- хотя следует сказать, что это были разовые работы, делала сама(операторам не отдавала) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 15:58 |
|
VBA Постраничный импорт из Word
|
|||
---|---|---|---|
#18+
Ataxy, вот, накидал процедурку. Работает. Только писал прямо в Ворде, под Акс надо подстругать. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2017, 16:21 |
|
|
start [/forum/topic.php?fid=45&msg=39502747&tid=1612196]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 284ms |
total: | 430ms |
0 / 0 |