|
|
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Привет всем! Совсем не знаю как быть... Есть в Ворде файл Export.doc - он меняется каждый месяц и в нем около 100000 записей, в общем больше чем может вместиться на листе экселя. Помогите, пожалуйста, написать макрос, который будет загонять из ворда данные на лист эксель, а когда лист1 закончится, то продлжит копировать эти данные на лист2. Пожалуйста!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 11:04 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123, скиньте данные в Акцесс. Или установите Эксель 2007 - 2010. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 11:58 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Serge 007, спасибо что откликнулись! Там данные идут так что Дата на строчку выше остальных данных и мне приходится вначале макросом проставлять Дату на соответствующую строку вниз, а затем делать обработки, если я открою в акцессе, то получится что строка 1 содержит Дату, а строка 2 - остальные данные, затем 3 путсые и опять - Дата - Данные, это все копируется из левого приложения, а обрабатывать надо в экселе - там много операций и автофильтр и перевод из текста в число и ВПР используется и все надо сделать одной кнопкой - сделала все, но строк получается очень много и самое страшное почему нельзя использовать акцесс - дата на разных строчках, причем экспортируется в вворд интересно - в начале страницы - дата прямо в предыдущей строчке, дальше по листу - через строчку... 2007 офис не куплен... Как быть... :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 12:05 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123, можете файл строк на надцать показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 12:11 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Может быть сохранить из Ворда в текст (если можно), далее в тексте скриптом навести порядок - строк станет в 2 раза меньше, затем скриптом же можно грузить в Эксель, ну или уже импортом, как положено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 12:14 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
нев 2, а в 4-5 раз меньше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 12:15 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Т.е. можно так текст преобразовать (если данные позволяют) - читаем построчно, если в начале строки дата - пишем в другой файл без перевода строки, если пусто - пропускаем, если есть данные и в начале не дата - пишем с переводом строки. Можно ещё разделители между датой и данными поставить. Наверное также можно и из Ворда читать, но я не знаю синтаксис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 12:26 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая1232007 офис не куплен... Как быть... :-( Зачем покупать? http://the-universe.ru/soft/74-ofis-2007-skachat-word-2007-besplatno-rus-excel.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 12:35 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Т.е. можно так текст преобразовать (если данные позволяют) - читаем построчно, если в начале строки дата - пишем в другой файл без перевода строки, если пусто - пропускаем, если есть данные и в начале не дата - пишем с переводом строки. Можно ещё разделители между датой и данными поставить. Наверное также можно и из Ворда читать, но я не знаю синтаксис. 8-) я тоже не знаю как это делать... как макросом читать построчно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 13:18 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Вот к примеру текстовый файл : 15.03.10 1010 ввпывп 2120 16.03.10 5262 ыываф 5458 17.03.18 4456 ваывп 5827 и так 100000 записей... как их преобразовать (это очень упрощенный вариант) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 13:26 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
На второй строке после Даты 3 столбца, т.е. весь текст должен быть разбит на 3 столбца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 13:48 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123, даты все в таком виде, нет случайно 1.04.10? Если всё именно так, то должно получиться. Вообще думаю можно сделать так: 1. запускаем *.vbs 2. диалог выбора вордовского файла. 3. скрипт сохраняет этот файл как word.txt 4. преобразует word.txt в excel.txt 5. открывает заранее приготовленный файл Экселя, который при открытии подгружает данные из excel.txt Если данных всё же будет набираться больше 65656 строк, можно грузить данные непосредственно в Эксель, считая строки, но это будет дольше. Можно этот скрипт и в Экселе разместить, и даже поставить его на выполнение при открытии файла. Но я всё жду - может кто подскажет, как именно из Ворда данные выбирать построчно, какой синтаксис... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 14:30 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Новенькая123, даты все в таком виде, нет случайно 1.04.10? Если всё именно так, то должно получиться. Вообще думаю можно сделать так: 1. запускаем *.vbs 2. диалог выбора вордовского файла. 3. скрипт сохраняет этот файл как word.txt 4. преобразует word.txt в excel.txt 5. открывает заранее приготовленный файл Экселя, который при открытии подгружает данные из excel.txt Если данных всё же будет набираться больше 65656 строк, можно грузить данные непосредственно в Эксель, считая строки, но это будет дольше. Можно этот скрипт и в Экселе разместить, и даже поставить его на выполнение при открытии файла. Но я всё жду - может кто подскажет, как именно из Ворда данные выбирать построчно, какой синтаксис... Спасибо что не бросаете! Но я не поняла [1. запускаем *.vbs] - я так поняла что Сервис/Макрос/Редактор Visual Basiс, а дальше как - [2. диалог выбора вордовского файла. ] - что это? я пробовала там открыть вордовский файл - ошибку выдает... что-то совсем не понимаю... :-((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 14:54 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123, нет, это я про скрипт wsh говорю. Вот для начала - выбираете в запросе свой сохранённый уже txt, на выходе преобразованный C:\temp\_excel.txt Сперва попробуйте на маленьком файле, чтобы оценить скорость работы. Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 15:17 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Спасибо что не бросаете!!! Но у меня в результате работы просто образовался пустой файл _excel.txt с размером 0 Все запускается в окне диалога выбираю export.txt и в результате появляется пустой _excel.txt ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 15:30 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123, я делал под Ваш пример, на нём работает. Там проверяется длина строки, если больше 7, то если первых 8 символов дата, то пишется без перевода строки (с добавлением после строки пробела), иначе с переводом. Результат: из Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 15:34 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Если вдруг бывают строки короче 8 символов, можно эту цифру и уменьшить до 1, т.е. поменять на Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 15:37 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Если вдруг бывают строки короче 8 символов, можно эту цифру и уменьшить до 1, т.е. поменять на Код: plaintext Только пожалуйста не бросайте меня!!! Ситуация - если я использую файл который Вы прислали в архиве, то он работает, но я не могу его редактировать, если я в тело модуля макроса вставляю скрипт который Вы прислали в форуме, то он выдает ошибку Run-time error '424' Object required и выделяет Wscript.Quit ХОТЯ ДАННЫЕ ПРАВИЛЬНО СРАБАТЫВАЮТ!!!! Спасибо огромное!!! В общем я так понимаю на эту ошибку не стоит обрщать внимание!!! СПАСИБО ВАМ ОГРОМНОЕ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 15:51 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123, в макрос прямо 1:1 не пойдёт, там чуть подправить надо :) - вместо Wscript.Quit надо Exit Sub Ну и ещё переменные бы определить, ну это сильно желательно (в wsh им всё равно тип не задаётся, поэтому я не напрягался...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 15:57 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Пропустил - как это не можете редактировать? А блокнот? Я кстати в блокноте и писал, в Notepad++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 16:10 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Ещё - если Код: plaintext Код: plaintext Хотя файл так и останется текстовым по содержанию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 16:19 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Ещё - если Код: plaintext Код: plaintext Хотя файл так и останется текстовым по содержанию... СПАСИБО!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 16:31 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Новенькая123Вот к примеру текстовый файл : 15.03.10 1010 ввпывп 2120 16.03.10 5262 ыываф 5458 17.03.18 4456 ваывп 5827 и так 100000 записей... как их преобразовать (это очень упрощенный вариант) Скопировал эти записи в Word... Вот что получилось (если в реальном файле перевод строки иной, работать не будет): Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 18:44 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, что-то у меня всё в кучку собрал: 15.03.101010 ввпывп 212016.03.105262 ыываф 545817.03.184456 ваывп 5827 А как в Ворде построчно пройтись, не подскажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 20:30 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121, проблема может быть в знаке перевода строки: при копировании записей с форума, я получил chr(11). Если вводит их вручную, через Enter, то само-собой, нужно chr(11) заменить на chr(13) (или vbcr). Обратите внимание: я не использую возможности Ворд, а, получив содержимое файла в строковую переменную, закрываю его. Навыков работы с Вордом у меня у самого нет : я потратил сегодня довольно много времени, чтобы понять, как получить содержимое файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 21:20 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, да, почти получилось с Chr(13), по крайней мере в массив построчно поместилось, далее уже можно обрабатывать. Только мне кажется, если строк много и они длинные, а не как в примере, то ворочать эту кучу будет небыстро. Я и тексты бывало сперва сразу целиком в массив загонял и затем анализировал, но когда знал, что объём не очень большой. В данном случае в коде выше текст построчно перекладываю в другой файл, выбирая только нужное. Хотя может разница и небольшая, тесты не делал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 21:41 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Заметил, что не всё "идеально". Исправленный фрагмент: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 21:43 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121, я на ru-board писал кому-то обработку текстового файла. Предполагая большое кол-во строк, организовал возможность его обработки частями по 3000 строк. Скорость выполнения в этом случае сокращалась примерно на 20%. Вот здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 21:57 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, Хотел заставить wsh скриптом сделать весь цикл от Ворд до Эксель - не получается ни в Ворде по строчкам пройтись, ни его в текст сохранить. Но если вручную сохранить данные в текст, то вполне перекладывает в текст.xls (все пробелы заменены на vbTAB, поэтому сразу разбивает по колонкам): Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2010, 22:30 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121, доработал процедурку: теперь она должна работать при любом знаке окончания строки. Для пробы растиражировал записи Новенькой123 на 10923 страницы в Ворде. Пришлось ещё подправить переключение переноса данных на другие листы книги Excel. Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Что получилось по скорости выполнения (P IV-1700, 768 MB ОЗУ, XP SP3, 2003 SP3): со 10923 страниц Ворда создана строка длиной в 5308444 знака. Из них после очистки осталось 4980761. На присвоение значения строковой переменной (strT = oDoc.Content) ушла почти половина времени - 189 сек, общее время выполнения процедуры составило 400 сек (было заполнено 6 листов Excel по 65536 строк + ещё 2 записи на 7-м листе). Вечером, если получится, буду сравнивать это со скоростью работы Вашего скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2010, 14:21 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, давай, интересно. Только в моём скрипте собственно нет операции занесения данных в лист Экселя, т.е. ещё можно сравнить время открытия Вашего итогового файла и моего псевдо-экселевского файла. Т.е. я думаю, Эксель мой файл будет дольше открывать. Или просто добавить в скрипт в конце процедуру открытия этого файла и мерить общее время. Только я там таймер по ошибке в самое начало поставил, т.е. мерится и время реакции оператора тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2010, 14:31 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121...Только я там таймер по ошибке в самое начало поставил, т.е. мерится и время реакции оператора тоже Хм... это единственное, на что я обратил внимане ( - проверять скорость работы скрипта, учитывая отсутствие импорта данных в Excel, получается, смысла нет. Но сравнить скорость выполнения задачи, применяя другой подход, всё-таки хотелось. Поэтому написал процедуру с использованием fso: Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. При раннем (не забываем добавлять ссылки на библиотеки) экономится ещё 14 сек (всего 82 сек) Необходимость создания новых листов здесь также не проверяется, так что нужно заранее побеспокоиться об их наличии. Или подкорректировать код процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 12:53 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, я тоже пробовал (правда в wsh) Код: plaintext 1. Надо тоже попробовать из Экселя провернуть. А про проверку скорости - так там, после открытия файла, происходит работа по перекладыванию из одного файла в другой, с преобразованием строк. Вот это и хотел померить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 13:05 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Немного тоже скорость потестил: 612437 строк в Ворде (он уже сам и не показывает в статусе, по тексту смотрел). Сохранил вручную в текст. Моим wsh скриптом переложил в текст в 166152 строки за 21,18 сек. Открывается в Экселе практически сразу, но кричит, что всё не откроет - естественно, нет разбивки по страницам. Но автору наверное и не надо - вроде пока объём не настолько большой. Код vlth: Связывание переключил (раннее пока не стал налаживать) и переделал перекладывание строк, что-то вроде не так писал в файл (см. ниже). Тот-же файл Ворд перегрузил в Эксель за 30,27 сек. Но тут есть ремарка - при 512 мБ памяти ругался на её отсутствие, общее время работы было больше, как раз принесли ещё 512 - теперь сработал без возражений. Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 14:55 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121, Так у меня получилось 91 сек вместо 96 - всё-таки листов в 2 раза меньше - 3, а не 6 Только автору по условию нужно было 3 столбца, а не 4? Или 3 - это промежуточный вариант ? Что-то непонятно... Код: plaintext Сейчас и проверять не стал - оставил. Выходит, зря не проверил. Кстати, нигде не нашёл описания этого параметра, а в хелпе сказано лишь, что он - "Optional Variant". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 18:23 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, попробовал сейчас этот же Ваш код дома - что-то 1 гиг памяти не спасает - загрузка в пике доходит до 900 мБ и в итоге Эксель виснет. Так результата и не добился. Имхо на слабой машине надо работать с текстом. Можно его в отдельные файлы перекладывать. Ваш код у меня до зависона сделал Export2.txt и первый Tmp.txt. И вероятно на oTmpWB.Worksheets(1).Cells.Copy ThisWorkbook.Worksheets(bytWSCount).Cells он и помер, или уже при открытии этого Tmp.txt (я его видел). А вообще можно и csv генерить, по 65536 строк каждый. И потом подгружать в листы, можно даже и кодом - количество и имена известны, тянуть как экспорт или копировать целиком из отдельных книг в общую - сейчас сделал вручную, без проблем и мнгновенно, не так, как через Cells.Copy. Но это уже теория, проверять не буду, уже неинтересно, да и проблема уже решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2010, 23:58 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Да, посмотрел подробнее, даже генерил сразу Tmp.txt.xls, этот файл открыл нормально, а на копировании "Недостаточно памяти"... Сейчас попробую лист целиком копировать, зацепило... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 00:19 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Сделал - 125 секунд 3.5 листа данных - копировал листы целиком - полёт нормальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 00:30 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
попробовал сейчас этот же Ваш код дома - что-то 1 гиг памяти не спасает Hugo121, у меня 768 MB, так что проблема, думаю, не в объёме памяти. Если копировать лист, вручную выделяя все его ячейки, что равносильно Cells.copy, зависание проявляется? А вообще можно и csv генерить, по 65536 строк каждый. И потом подгружать в листы, можно даже и кодом - количество и имена известны, тянуть как экспорт или копировать целиком из отдельных книг в общую - сейчас сделал вручную, без проблем и мнгновенно, не так, как через Cells.Copy Можно и целиком листы. Из того же .txt (принципиальной разницы с .csv нет). Кроме того, можно копировать только содержащие данные 3-4 столбца. Можно еще с помощью ADO, что наверное, будет быстрее всего. Всё это дело техники. Cells.copy в записи проще всего - 1 строка. Поскольку она у меня работает (а причины, по которой в данном случае может быть иначе, я не представляю), я её и оставил. Если автор топика, или кто-то иной, вновь обратится к этой теме, тогда и будет смысл реализовать что-то из вышеперечисленного, а так - согласен: задача решена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 00:38 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Сделал - 125 секунд 3.5 листа данных - копировал листы целиком - полёт нормальный.Вот и ладно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 00:40 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Вот продукт совместного творчества, у меня работает без зависаний. Кнопка запуска кода остаётся на последнем листе. Должна быть доступна запись в папку, откуда открываете исходный документ. Немного некрасиво остаётся полузакрытое окно выбора файла, не получилось победить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 01:46 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Вот продукт совместного творчества, у меня работает без зависаний. ... Немного некрасиво остаётся полузакрытое окно выбора файла, не получилось победить... Решается с помощью DoEvents Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 02:32 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
[quot]Решается с помощью DoEventsquot] Или применить "родное" диалоговое окно Application.FileDialog(msoFileDialogOpen), что логичнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 02:51 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, Да, про DoEvents я подумал, уже засыпая... Т.к. Application.FileDialog на 2000 не идёт, сделал с DoEvents. Ещё добавил и сократил StatusBar - стало инфомативней и меньше мелькать. В итоге время работы даже сократилось на 30%! Всё-же StatusBar здорово жрёт ресурсы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2010, 13:11 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121, про Status Bar интересно: я так эту версию и не проверил, хотя хотел... Вот вариант с ADO. У меня получилось чуть более минуты (62-65 сек): Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 01:02 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
vlth, ещё не пропал интерес? Поверяю - ругается на cnTXT.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ Не подскажете - что подключить или чем заменить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 01:14 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Не, заработало... просто я "Data SoulngRCrse=" исправил на "Data Sourse=" ... Ещё недочёт - у меня 3 листа, а ему 4 подавай... смотрю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 01:24 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Да, с АДО побыстрее - 48-66 сек. в зависимости от активности антивируса наверное. Тот мой/наш последний вариант 79-93 сек. соответственно. Статусбары отключил для объективности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 01:47 |
|
||
|
Из Ворда в Эксель
|
|||
|---|---|---|---|
|
#18+
Hugo121Не, заработало... просто я "Data SoulngRCrse=" исправил на "Data Sourse=" ... Это я, уже в окне сообщения, вставляя переменную strFIlesPath вместо абсолютного пути... Но как ТАКОЕ могло получиться - не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 10:43 |
|
||
|
|

start [/forum/topic.php?all=1&fid=61&tid=2178254]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
179ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 456ms |

| 0 / 0 |
