Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« : 16.03.2016, 00:35:42 » |
|
как узнать количество слов в строке? я в определённом месте документа вставляю текст: ActiveDocument.Words(count).add(строка1) мне нужно узнать из скольких слов состроит строка1.
|
|
|
Записан
|
|
|
|
|
Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« Ответ #2 : 16.03.2016, 21:29:40 » |
|
да действительно что-то я напутал, вставка осуществляется так: Application.ActiveDocument.Words(t).InsertAfter (характеристика + Chr(13)) где характеристика - это строка типа: "ЕхКЗ 2А 161609 (23/13) -А(1М20)-С(1М20m15)", документ выглядит примерно так: текст1: характеристика текст2 собственно я удаляю все слова после текста1 пока не дойду до слова текст2 затем вставляю строку с новой характеристикой после текст1, так как в самом конце документа тоже нужно сделать правки, то что бы время от времени не вываливалась ошибка про несуществующее семейство( не помню как точно звучит), я хочу узнать на сколько слов изменяется размер документа, Application.ActiveDocument.Words.count использовать не очень хочется так как она реально долго подсчитывает слова. если нет возможности посчитать количество слов то буду пробовать изменить документ сначала в конце а уж потом в этом месте (но это решение пришло ко мне гораздо позже проблемы).
|
|
« Последнее редактирование: 16.03.2016, 21:32:38 от Thender »
|
Записан
|
|
|
|
|
Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« Ответ #4 : 16.03.2016, 23:05:23 » |
|
так насколько я понимаю нужно знать что искать при использовании Find.Replase, а у меня там может быть любая строка, решил перебирать слова - потому что когда я начинал писать скрипт мне показалось это очень удобным способом, а перебирать символы и составлять из них слова удобнее? я в VBA профан, если предложите способ проще то готов выслушать. в принципе скрипт в данный момент работает и сбоев не наблюдается, но хочется что бы он гарантированно работал стабильно.
|
|
|
Записан
|
|
|
|
|
Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« Ответ #6 : 17.03.2016, 12:27:04 » |
|
Нет как раз характеристика это переменная типа string ( Dim характеристика As String ) 100% я знаю как выглядит текст1 и текст2 а между некоторый текст похожий на "ЕхКЗ 2А 161609 (23/13) -А(1М20)-С(1М20m15)"
|
|
« Последнее редактирование: 17.03.2016, 12:31:19 от Thender »
|
Записан
|
|
|
|
|
Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« Ответ #8 : 17.03.2016, 12:41:51 » |
|
Неплохо,но это не даст ответ на вопрос насколько слов увеличился документ за такой совет я бы даже 2 плюса поставил. буду пробовать
|
|
« Последнее редактирование: 17.03.2016, 12:44:07 от Thender »
|
Записан
|
|
|
|
Surrogate
|
|
« Ответ #9 : 17.03.2016, 12:44:55 » |
|
а такой вариант LEN(текст1 & "новый текст" & текст2)
|
|
|
Записан
|
†
|
|
|
RAN
Эксперты
Старожил
Репутация: +43/-0
Офлайн
Сообщений: 440
|
|
« Ответ #10 : 17.03.2016, 22:47:24 » |
|
насколько слов увеличился документ Sub qq() Dim x&, xx& x = ActiveDocument.Words.Count ActiveDocument.Bookmarks("ww").Range = "раз два три" xx = ActiveDocument.Words.Count MsgBox "Добавлено" & xx - x & "слов" End Sub
|
|
|
Записан
|
А что ты умеешь? Учиться...
|
|
|
Дмитрий Щербаков(The_Prist)
|
|
« Ответ #11 : 18.03.2016, 08:58:55 » |
|
но это не даст ответ на вопрос Что был правильный ответ - нужен правильный вопрос Задача вроде была иная: так как в самом конце документа тоже нужно сделать правки найти конец документа и посчитать слова - задачи разные. Если у Вас задача слова считать, а не правильно изменения вносить - дело Ваше...
|
|
|
Записан
|
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы... Пункты приёма Спасибов: -41001332272872 -R298726502453
|
|
|
Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« Ответ #12 : 18.03.2016, 16:41:19 » |
|
Спасибо за ответ! RAN - Это именно то что мне нужно было
|
|
|
Записан
|
|
|
|
|
Thender
Новичок
Репутация: +0/-0
Офлайн
Сообщений: 15
|
|
« Ответ #14 : 23.03.2016, 20:54:35 » |
|
да согласен с вашим замечанием не заметил от радости Application.ActiveDocument.Words.count
|
|
|
Записан
|
|
|
|
magazine
|
|
« Ответ #15 : 19.08.2016, 17:31:35 » |
|
Всем добра
|
|
« Последнее редактирование: 19.08.2016, 17:38:19 от The_Prist »
|
Записан
|
|
|
|
|