0
- 11.06.2014 - 19:22
|
Вопрос к знатокам Microsoft Visual Basic или к тем, кто пишет макросы для Microsoft Word!!!!!!! Прилагаю скрины скрпита. Скажите ради Бога - ЧТО-О-О-О ему здесь не подходит????????? В чём ошибка? Почему он после слов "Финансовое обеспечение на новый период" (второй скрин) перед знаком Chr(13) - начал рисовать красным? Что в этом месте не так? Ведь этот знак раньше много раз прекрасно воспринялся... Сижу уже несколько дней..... :-( | |
1
- 11.06.2014 - 19:26
|
Вот текст скрипта в редакторе | |
2
- 11.06.2014 - 20:27
|
Здесь элементарщина: удалите символы переноса строк _ и будет щастье. А заодно предложите хотя-б виртуально вырвать яица тому, кто собирает такие длинные текстовые строки в коде. Обычно это делается так: irf = "Именем Российской Федерации" sud = irf & chr(13) & "Судебная коллегия Верховного суда Российской Федерации" sostav = irf & & chr(13) & "В составе судей ..." В общем смысл понятен... Избегайте длинных строк! | |
3
- 11.06.2014 - 20:31
|
Спасибо за ответ! Удалить символы переноса строк не могу - так как в итоговом документе текст должен быть не в одну строку :-) Но за подсказку спасибо! Вы имеете в виду, что присоединять символы перенос текста надо не знаком "+", а через конкатенацию? Так? :-) | |
4
- 11.06.2014 - 20:47
|
А почему получается такая длинная строка, то это здесь http://reestr.russiatourism.ru/?ac=view&id_reestr=842 такие длинные данные, которые автоматически берутся с сайта и автоматически вставляются в документ Word :-) | |
5
- 11.06.2014 - 21:33
|
Вот вся команда. Она создаётся автоматически программой: [EditBookmark .Name = "TourOperatorData", .Goto][Insert "Реестровый номер: МТ1 000870" & chr(13) & "Полное наименование: Общество с ограниченной ответственностью САНМАР ТУР" & chr(13) & "Сокращенное наименование: ООО САНМАР ТУР" & chr(13) & "Адрес (место нахождения): 105066, г. Москва, ул. Нижняя Красносельская, д. 40/12, корпус 20, 1 этаж" & chr(13) & "Почтовый адрес: 105066, г. Москва, ул. Нижняя Красносельская, д. 40/12, корпус 20, 1 этаж" & chr(13) & "Адрес официального сайта в сети Интернет: www.sunmar.ru" & chr(13) & "."] Но строки "str1" & chr(13) & "str2" - так соединять нельзя? :-) | |
6
- 11.06.2014 - 22:14
|
Всё! Решилось. Сделали не одну команду Insert с длинной строкой, а пять команд Insert с менее длинными строками... Ну кто мог знать, что это ЧУДО не принимает длинные строки????????????????????????????? | |
7
- 16.06.2014 - 13:38
|
2225777 - ограничения на длину строк есть в ЛЮБОМ языке программирования. Чудо-VBA как раз имеет довольно мало ограничений и прекрасно работает с большимитсроками строками. В коде же длинные строки - зло. Найти ошибку - трудно. Настоящие VBA-программисты почти не используют переноса строк в коде. Cтроки "str1" & chr(13) & "str2" - так соединять нельзя? - можно и даже нужно. Помните, что символ переноса строк программного КОДА в редакторе VBA - это подчеркивание _ А строковый символ, заставляющий текстовую строку при выводе/печати переходить на другую строку - это либо Chr(13) либо константа VbCrLf | |
8
- 16.06.2014 - 15:45
|
2 economist Ещё раз спасибо за помощь! :-) (И что интересно: бьёшься-бьёшься сам - не получается, только начинаешь спрашивать у кого-то - как в этот же момент и сам понимаешь, в чём дело! Как будто, когда обращаешься к другому человеку - словно смотришь на свой код его глазами - и видишь причину! Мистика, да и только! :-) :-) :-) ) | |
9
- 18.07.2014 - 16:26
|
Новая странность: а что - есть ограничение на количество команд в одном VB-скрипте? | |
10
- 18.07.2014 - 16:32
|
Среди прочих других команд в одном посыле из Delphi в документ Microsoft Word'а есть последовательность, заполняющая таблицу: [TableInsertRowBelow] [NextCell][Insert "4"] [NextCell][Insert "111"] [NextCell][Insert "111"] [NextCell][Insert "111"] [NextCell][Insert "111"] [NextCell][Insert "222"] ("111" вставляются в тестовых целях). Документ создаётся прекрасно, если задано повторение этого блока команд 6 раз. И не создаётся, если задано повторение этого блока 7 раз. Никакой ошибки. Просто открывается белый чистый лист. Если в вышеуказанной последовательности команд убрать последнюю команду [NextCell][Insert "222"] то теперь семь строк таблицы создаётся в документе! Но не создаётся 8 и больше. Напрашивается вывод только один: есть ограничение на количество команд, за один раз посылаемых в Microsoft Word? | |
11
- 29.07.2014 - 14:10
| А также вставляйте текст, а не картинку. | |
| Интернет-форум Краснодарского края и Краснодара |