|
Оптимизация кода Vba
|
|||
---|---|---|---|
#18+
Есть программа , которая парсит сайт . Работает она хорошо , но слишком долго . Хочу ее упростить /ускорить . Подскажите пожалуйста , может быть есть какие-нибудь специализированные сайты по этому вопросу ? Любым подсказкам буду благодарен . Суть программы: 1. Сначала по гиперссылке прога заходит на сайт , где находит определенную таблицу элементов 2. Затем достает href каждого элемента , превращает его в гиперссылку , и вставляет в Excel в 1-ую таблицу 3. Потом достает текст каждого элемента и вставляет в Excel во 2-ую таблицу 4. Затем перебирает элементы 1-ой и 2-ой таблицы , чтобы в 3-ей таблице каждый элемент содержал в себе гиперссылку +текст Код: 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. 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. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 10:50 |
|
Оптимизация кода Vba
|
|||
---|---|---|---|
#18+
maxim863Суть программы: 1. Сначала по гиперссылке прога заходит на сайт , где находит определенную таблицу элементов 2. Затем достает href каждого элемента , превращает его в гиперссылку , и вставляет в Excel в 1-ую таблицу 3. Потом достает текст каждого элемента и вставляет в Excel во 2-ую таблицу 4. Затем перебирает элементы 1-ой и 2-ой таблицы , чтобы в 3-ей таблице каждый элемент содержал в себе гиперссылку +текст Разумнее было это указать в коде, комментариями. Ещё разумнее - указать И в коде. Ну да ладно... 1) Какой из этих этапов тормозит? 2) Действительно ли нужны первые две таблицы? почему бы не накопить все данные в памяти и прямо там обработать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 10:56 |
|
Оптимизация кода Vba
|
|||
---|---|---|---|
#18+
Все промежуточные расчеты/поиски/заполнения вынести в рекордсет. Финальный перенос данных в Excel через CopyFromRecordset. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 12:35 |
|
Оптимизация кода Vba
|
|||
---|---|---|---|
#18+
Akina, Первые две таблицы не нужны . Насчет , накопить все данные в памяти и прямо там обработать , так и хотел сделать. Просто не совсем понимаю ,как . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:44 |
|
Оптимизация кода Vba
|
|||
---|---|---|---|
#18+
big-duke же вменяемо написал. Гоните данные в отвязанный рекордсет, а потом все накопленные данные единым махом вываливайте на лист. Ну или совсем просто - объявите динамический массив, и вставляйте прямо в него. А потом просто копируйте его в нужный диапазон листа. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:53 |
|
Оптимизация кода Vba
|
|||
---|---|---|---|
#18+
Akina, Можете написать минимальный пример , как закинуть данные в recordset (из того , что я нашел :"Для табличного объекта Recordset в базе данных Microsoft Jet в качестве источника допускается указание только имени таблицы") . А как это грамотно записать -не могу найти . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 13:37 |
|
|
start [/forum/topic.php?fid=60&msg=39552843&tid=2155167]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 427ms |
0 / 0 |