Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2011, 11:19   #1
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию Word "строка состояния" кол-во знаков. Вопрос

Вижу внизу на строке состояния кнопку "число слов", но при нажатии имеем в статистике и число знаков с пробелами ... (spacecount)
при этом ворд четко в режиме реального времени фиксирует каждый знак.

знает ли кто как сделать, чтобы отражалось и это значение на строке состояния (кол-во знаков с пробелами)?

а еще луче бы сказать как-нибудь Ворду через VBA и дать задание, чтобы он сообщал что лимит (допустим 2000 знаков) исчерпан. Пусть выдаст сообщение об этом MsgBoxом.

PS если это важно, то смотрю сейчас на 2007-ой ворд
VasilyGor вне форума Ответить с цитированием
Старый 31.07.2011, 12:59   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

Выбирайте, что душе угодно

Код:
Количество_слов = ActiveDocument.Range.ComputeStatistics(wdStatisticWords)
Количество_строк = ActiveDocument.Range.ComputeStatistics(wdStatisticLines)
Количество_страниц = ActiveDocument.Range.ComputeStatistics(wdStatisticPages)
Количество_знаков_без_пробелов = ActiveDocument.Range.ComputeStatistics(wdStatisticCharacters)
Количество_знаков_с_пробелами = ActiveDocument.Range.ComputeStatistics(wdStatisticCharactersWithSpaces)
Количество_разделов = ActiveDocument.Range.ComputeStatistics(wdStatisticParagraphs)
Количество_предложений = ActiveDocument.Range.Sentences.Count
For I = 1 To Количество_предложений
Set Предложение = ActiveDocument.Sentences(I)
Количество_слов_в_предложении = ActiveDocument.Sentences(I).Words.Count
Next I

Количество_слов_в_абзаце = ActiveDocument.Paragraphs(5).Range.Words.Count
Количество_предложений_в_абзаце = ActiveDocument.Paragraphs(5).Range.Sentences.Count
Ципихович Эндрю вне форума Ответить с цитированием
Старый 31.07.2011, 16:36   #3
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Выбирайте, что душе угодно
хм. и как мне этим пользоваться?

это мне поможет сменить в статус баре на кнопке инфу, где станет вместо количества слов отображаться количество знаков?

или я мог бы в вашу конструкцию вбить цифру с №-ым значением, что гарантировало бы мне например через 2000 знаков получить MsgBox="Лимит исчерпан"?

я ж не программист и сами функции приведенные вами как бы знакомы.
я их примерял в конструкции

Sub количество_знаков(control As IRibbonControl)
MsgBox ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces)
End Sub

/а с этим Range хоть и встречал так и не понял как воспользоваться./

но я смог прикрутить выше приведенную конструкцию опять таки тока к батону, на который опять же нужно давить. что делать совершенно не хочется.

как называется эта кнопка Word Count dialog box ... которую я могу включить/отключить и все. и по прежнему вижу только количество слов.... а не знаков. Пока не нажму...?

не сочтите за труд как бы в ваш код добавить еще что-то, дабы не программистам можно было это применить копипастом ((( извиняюсь
VasilyGor вне форума Ответить с цитированием
Старый 31.07.2011, 16:53   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

через 2000 знаков получить MsgBox="Лимит исчерпан"?
это как понимать?? Во всём документе интерисует??
Ципихович Эндрю вне форума Ответить с цитированием
Старый 31.07.2011, 17:26   #5
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Во всём документе интерисует??
я знаю, что я плохо объясняю. но... что сделаешь.
Пример.
Открываю новый документ. Начинаю печатать. Как только подошло к 2000 знакам ворд кричит "Всё. алес! Лимит исчерпан"

и хочу видеть внизу на кнопке не количество слов, а количество знаков.
что легче реализовать не знаю.
VasilyGor вне форума Ответить с цитированием
Старый 31.07.2011, 18:33   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

понял, значит во всём документе интерисует
>хочу видеть внизу на кнопке не количество слов, а количество знаков
не понимаю точно что за кнопка, Статистика??
Как представляете проверять таймером, через, например каждые 5 секунд??
После появления каждого символа?? пробел, абзац считать за символ??
Ципихович Эндрю вне форума Ответить с цитированием
Старый 01.08.2011, 04:55   #7
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

у меня, к сожалению, рус ворд. И да. там написано - "Щелкните, чтобы открыть диалоговое окно "Статистика".

Пробел за символ считать. Абзац? ...хм. Не знаю ... ворд не считает. Вообще эта «^p» хитрая для меня пока штука )

Вы мне объясните вот что. Как называется этот элемент на "строке состояния"(статистик баре) на котором мы видим количество слов .... Это кнопка? которая вызывает диалоговое окно (форму) или это не совсем кнопка, а что-то иное? ведь надпись на ней постоянно меняется (кол-во слов).

Сам ворд отслеживает и подсчитывает каждое нажатие клавиш (я же вижу как он ...этой кнопкой перемигивается) и разве мы просто не можем взять эти значения у него и передать другому элементу? текстовому окну или там ...
Я бы погуглил…но даже не могу сориентироваться как правильно сформулировать запрос.

вот типа такого http://www.permadi.com/tutorial/jsIn...DOM/index.html но языком VBA

Последний раз редактировалось VasilyGor; 01.08.2011 в 06:07.
VasilyGor вне форума Ответить с цитированием
Старый 04.08.2011, 14:33   #8
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
понял, значит во всём документе интерисует
да. в ActiveDocument

Цитата:
не понимаю точно что за кнопка, Статистика??
Word Count (число слов) в статус баре (строка состояния)

Цитата:
Как представляете проверять таймером, через, например каждые 5 секунд?? После появления каждого символа??
все равно.
если после каждого символа - вообще круто было бы.

Цитата:
пробел, абзац считать за символ??
пробел да, абзац нет.

просто хотя бы на словах....есть мысли как это сделать? ибо мой не обогащенный знаниями программирования делает нечто ужасное.
VasilyGor вне форума Ответить с цитированием
Старый 04.08.2011, 17:38   #9
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

мысли есть, кода нет, у меня есть класс
'выделение определённого текста в документе Private Sub App_WindowSelectionChange(ByVal Sel As Selection)
'нажатие правой кнопки мыши Private Sub App_WindowBeforeRightClick(ByVal Sel As Selection, Cancel As Boolean)
'после двойного щелчка левой клавиши мыши Private Sub App_WindowBeforeDoubleClick(ByVal Sel As Selection, Cancel As Boolean)

может кто подскажет как создать на событие ввод знака
Ципихович Эндрю вне форума Ответить с цитированием
Старый 04.08.2011, 22:59   #10
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

В справке Word на запрос про статусбар 27 ответов.

Я потом попробую, а пока просто посмотрел:
Изображения
Тип файла: jpg StatusBar.jpg (60.8 Кб, 162 просмотров)
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа которая находит и печатает все группы знаков, в которые знак "*" входит не менее 2-х раз. Scredis Паскаль, Turbo Pascal, PascalABC.NET 0 06.06.2011 22:47
Как запретить ввод всего алфавита и логических знаков "=+-*/" prikolist Общие вопросы C/C++ 13 02.06.2010 20:47
Правильный параметр "командная строка" в макрокоманде "ЗапускПриложения". peektoseen Microsoft Office Access 3 10.03.2010 19:53
Появление знаков ",.:?" на своих местах в UBUNTU 8.04 Alex Cones Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 9 12.09.2009 20:10
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04