Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VBA For Word, Не работает перевод строки 
:(
    Опции темы
Гость_Temp
Дата 11.8.2003, 21:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Делаю так:
Код
Wrd.Selection.Find.Execute FindText:="[address]", ReplaceWith:="Country" & vbCrLf & "av. Aseerte, 123"

мне надо чтоб он слово [address] заменил на две строки, но вместо перевода строки (vbCrLf) вижу два квадратика. Почему? Что мне делать? Может вместо vbCrLf уникод символ какой-нить надо? Помоите пожалуйста! Очень благодарен!
  Вверх
Alles
Дата 12.8.2003, 04:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Wrd.Selection.Find.Execute FindText:="[address]", ReplaceWith:="Country" & Chr(13) & Chr(13) & "av. Aseerte, 123"
PM MAIL ICQ   Вверх
Гость_Temp
Дата 13.8.2003, 06:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Wrd.Selection.Find.Execute FindText:="[address]", ReplaceWith:="Country" & Chr(13) & Chr(13) & "av. Aseerte, 123"

Не работает... sad.gif Может как-нибудь по другому?
  Вверх
-Mikle-
Дата 13.8.2003, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Попытался найти ответ и-и-и.... мне это тоже интересно стало... Какой же код символа переноса строки у Word? Кто знает?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
cardinal
Дата 13.8.2003, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Код
Selection.Find.Execute FindText:="[address]", ReplaceWith:="Country" & Chr(13) & Chr(13) & "av. Aseerte, 123"


Так все же правильно! Зачем тут два раза Chr(13) я не понял, но это не суть. Код символа переноса строки это 13.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Alles
Дата 13.8.2003, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Хм... , а может вот так Selection.TypeParagraph вот это точно строку переводит в Ворде!
PM MAIL ICQ   Вверх
Alles
Дата 13.8.2003, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Да ...... cardinal прав это мой касяк я просто запарился и воткнул туда два 13 я почемуто подумал что ... да ладно проехали там должен быть один перевод. Но Ворд действительно себя странно ведет при таком переводе ! у меня например пропадает кнопка в которой прописан перевод , а курсор где стоял там и стоит , а вот с этим Selection.TypeParagraph все ОК.

Код
Wrd.Selection.Find.Execute FindText:="[address]", ReplaceWith:="Country" & Selection.TypeParagraph & "av. Aseerte, 123"

PM MAIL ICQ   Вверх
Alles
Дата 13.8.2003, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Нет я помоему не прав ! Selection.TypeParagraph в этом блоке не работает !
Автор : ты помоему что-то намудрил

Selection.Text = "Country" & Chr(13) & "av. Aseerte, 123" вот так все работает !

Ты ищешь слово по документу и заменяешь его ??!!

Selection.Find.ClearFormatting
With Selection.Find
.Text = "address"
.Replacement.Text = ""

End With
Selection.TypeParagraph
Selection.Text = "Country" & Chr(13) & "av. Aseerte, 123"
Selection.Find.Execute
End Sub

Может ты вот так попробуешь ?
PM MAIL ICQ   Вверх
Гость_Temp
Дата 13.8.2003, 16:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Selection.TypeParagraph - это метод, он знает как переводить строку.
Вся беда в том, что вообще, то что я написал в вопросе, работает. Не работает это в случае если [address] стоит в последней строке в ячейке таблицы. Если поставить знак переноса после него (т.е. сделать так чтоб он был не в последней строке ячейки), то все работает. Но ведь ворд как-то может ставить перенос строки, даже если слово в последней строке ячейки. Как он это делает? Какой же символ переносит строку независимо от того, где она находится?
  Вверх
Alles
Дата 14.8.2003, 04:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Да ...кому как , но я органически не выношу когда в ворде работают с таблицами и на работе у себя постоянно воюю с персооналом. А вообще системный перевод строки это Chr(13) ...... это как соль ! она соленая и все тут !!!
Странно ! у меня все работает независимо где в таблице стоит искомая строка.

PM MAIL ICQ   Вверх
Гость_Temp
Дата 14.8.2003, 06:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В Word сделана Счет-фактура. Для того чтобы разметить в каких областях листа, что находиться, я использую таблицу без видимых границ. Вообще весь файл - это шаблон. Потом, из VB, я работаю с этим шаблоном, т.е. ищу метасимволы, и заменяю их на соответствующие значения из прораммы. Но если метасимвол в последней строке ячейки, то он не хочет переносить строку. В других местах переносит, а тут нет. sad.gif
  Вверх
cardinal
Дата 14.8.2003, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Да, прикольно... А разница между "software enter" и "hardware enter" оказывается есть.
Код
Selection.Find.Execute FindText:="[address]", ReplaceWith:="Country" & vbVerticalTab & "av. Aseerte, 123"
SendKeys "{RIGHT}", True

А в MSDN вообще написано, что нам эта константа не пригодится,
Цитата
Vertical tab; not useful in Microsoft Windows

а она пригодилась smile.gif



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Гость_Temp
Дата 14.8.2003, 16:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











cardinal, ты молодец!!! Как я не догадался? Спасибо ОГРОМНОЕ за потраченое на меня время! Ты очень помог мне!!! Моя человеческая благодарность тебе! СПА-СИ-БО!!!
  Вверх
Гость_Temp
Дата 14.8.2003, 17:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Также огромное СПАСИБО Alles'у! Который потратил не меньше времени на меня!
  Вверх
Alles
Дата 15.8.2003, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 26.6.2003
Где: RUSSIA

Репутация: 2
Всего: 2



Ну блин ...век живи век учись smile.gif)) cardinal - тебе по рейтингу +10 .
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.