|
|
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, дорогие друзья) Столкнулся с такой проблемой: Заполняю документ ворд программно. В ворде есть таблицы, которые так же надо заполнить. В первом столбце, но неизвестной строке у каждой таблицы стоит текст-маркер: например #R3# (#R4#, #R5# и т.д.). Необходимо найти данный текст-маркер и с этой позиции заполнить таблицу из массивов. При этом число и порядок таблиц могут меняться, номерация ячеек в таблице тоже. Путь, которым я решал задачу: 1.Перебрать все таблицы в цикле по номерам 2.Перебрать все ячейки в таблице по номерам(номер строки+номер столбца(всегда первый)). 3.Сравнить текст ячейки с искомым текстом, и если совпали начать заполнение таблицы. Проблема в том, возникает на втором пункте, при переборе ячеек. В документе могут стречаться ячейки объединенные по вертикали. Выглядит это примерно вот так: ____________________ |-----------|-----------|-----------| |---A1---|__B1___|__C1__| |______|__B2__|__C2__| |-----------|-----------|-----------| |----A3---|----B3---| ----C3---| |______|_______|______| |-----------|-----------|-----------| |----A4---|----B4---|----C4---| |______|_______|______| Получается, что ячейки A2 не существует, и когда цикл перебора ячеек обращается к ней, ворд возвращает ошибку что член заданного семейства не существует и цикл обрывается. Вопрос - как можно заполнить такую таблицу? (если заранее неизвестны номера ячеек и таблиц) Слышал, что можно по найденному тексту вернуть ссылку на ячейку, но не знаю как. Возможно кто нибудь предложит и другой способ. Заранее спасибо. Для демонстрации приведу мою функцию, которой пользовался: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 09:52 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
Ах да, вот пример такого документа. Ошибка возникает на #R3_2# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 09:57 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
Light241, Не знаю подойдёт ли вам моё предложение, но можно использовать в шаблоне "поля", откройте справку в ворде (при редактировании шаблона) введите " DOCPROPERTY" почитаейте, так же можно почитать в интернете, а изменение данных полей происходит через Word.Document.Fields лучше так же посмотреть в интернете, я видел данную реализацию, но сам ею не пользовался. Желаю удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 11:09 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
scorpyx, А вобще этот способ не совсем тебе подойдёт, при его использовании надо в каждую ячейку вствлять поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2009, 11:28 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
Лучше поздно, чем никогда... :-) Как-то тоже пришлось решать подобную задачу. Пошел по пути: 1. Формирование перечня существующих ячеек таблицы. 2. Обработка перечня существующих ячеек таблицы. Ниже - соответствующая функция для формирования списка существующих ячеек таблицы (и, далее, используемые, вспомогательные функции). Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 15:30 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
И пример, наверное, не помешает. Файл с исходниками (Delphi 2009) и EXE-ником в архиве (RAR). Придется по частям (sorry): 5 файлов по 100К (см. далее). msWord_Cells_001.part01.rar ... msWord_Cells_001.part05.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 16:51 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
N1: msWord_Cells_001.part01.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 16:52 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
N2: msWord_Cells_001.part02.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 16:52 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
N3: msWord_Cells_001.part03.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 16:53 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
N4: msWord_Cells_001.part04.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 16:53 |
|
||
|
Заполнение таблиц в word. Объединенные по вертикали ячейки
|
|||
|---|---|---|---|
|
#18+
N5: msWord_Cells_001.part05.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2018, 16:54 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=36151502&tid=2040122]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 413ms |

| 0 / 0 |
