Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

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

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

Код:
Количество_слов = 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
Репутация: 10
По умолчанию

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

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

или я мог бы в вашу конструкцию вбить цифру с №-ым значением, что гарантировало бы мне например через 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
Сообщений: 2,305
Репутация: 52
По умолчанию

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

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

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

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

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

Пробел за символ считать. Абзац? ...хм. Не знаю ... ворд не считает. Вообще эта «^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
Репутация: 10
По умолчанию

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

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

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

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

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

мысли есть, кода нет, у меня есть класс
'выделение определённого текста в документе 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,533
Репутация: 691
По умолчанию

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

Я потом попробую, а пока просто посмотрел:
Миниатюры
Нажмите на изображение для увеличения
Название: StatusBar.jpg
Просмотров: 97
Размер:	60.8 Кб
ID:	41583  
Sasha_Smirnov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа которая находит и печатает все группы знаков, в которые знак "*" входит не менее 2-х раз. Scredis Паскаль 0 06.06.2011 22:47
Как запретить ввод всего алфавита и логических знаков "=+-*/" prikolist Общие вопросы C/C++ 13 02.06.2010 20:47
Правильный параметр "командная строка" в макрокоманде "ЗапускПриложения". peektoseen Microsoft Office Access 3 10.03.2010 20: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


03:14.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.