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

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

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

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

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

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

После первого топика… я сутки сидел и думал. Дошел пока только до этого:

Private Sub Zn()
Call стат2
End Sub
Sub стат2()
Application.StatusBar = ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces)
Application.OnTime Now + TimeValue("00:00:01"), "стат2"
End Sub

и хоть я как художник привык ко многому, у меня все равно это душа не принимает…не красиво. Не изящно … Просто тупо.

<b>Sasha_Smirnov</b> с выделенным сегодня, конечно, разберусь, и в хелп я заглядывал первым делом, но … если еще ответите, то мне бы словами ))).. этот цикл делает ...то то и то-то ... если мысль покажется интересной я найду ответ ...
вот уже два дня смотрю на учебники для школьников по VBA ((( Уже понимаю, что Dim As Long это не "Дима из банды длинного" ... так что поиск это одно … мне бы направление поиска увидеть )))
гугл скоро меня забанит )))

мне кода не надо, мне чисто по-русски пока словами хотя бы, а там я уже поищу … покумекаю…
VasilyGor вне форума Ответить с цитированием
Старый 05.08.2011, 09:30   #12
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

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

Вот скажите мне ... мы можем постоянно изменяющиеся данные транслировать в ..например,..пусть будет ListBox в режиме реального времени?

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

на каком принципе работает ВордКаунт на статус баре?
VasilyGor вне форума Ответить с цитированием
Старый 05.08.2011, 10:10   #13
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

>но я также вижу, что на форме счетчик отображающий время работает принимая инфу и тут же ее отображая меняет ...

поясните в 2003 Ворде где это смотреть, не возьму в толк
Ципихович Эндрю вне форума Ответить с цитированием
Старый 05.08.2011, 10:39   #14
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
поясните в 2003 Ворде где это смотреть
ну конечно не совсем в ворде это я примерял
http://www.your-save-time-and-improv...vba-timer.html

я спрашиваю потому что пока не могу связать две вещи ... на которую изначально нацелился.

Посыл был таков если ActiveDocument.ComputeStatistics(wd StatisticWords) отдает значения то почему бы не взять их используя TextBox1.ControlSource = ... после того как мне вышло сообщение что я дурак (Could not set ControlSource property. Invalid property value.)

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

если ActiveDocument.ComputeStatistics(wd StatisticWords) отдает значения
насколько я понимаю, отдавать то оно отдаёт, но когда, когда кто то у него спросит
Вот такая заковырка
Или я не так понимаю
Ципихович Эндрю вне форума Ответить с цитированием
Старый 05.08.2011, 11:30   #16
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

это меня и напрягает
ведь в ворде в статус баре статистике у ВордКаунта никто ничего не просит. он знай тебе показывает отсчитывает....
вот и я так хочу.
ну не эмулирует же он всякие нажатия. это глупо. хотя вы замечаете как он мигает. ввел символ..он на мгновение становится дизейблом, а потом показывает новые значения ...
может как-нибудь прикрутить событие отпускания клавиши? типа
Const KEYEVENTF_KEYUP = &H2

пойду помаракую пока с конструкцией
Private Sub UserForm_Initialize()
TextBox1.text = ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces)
End Sub
VasilyGor вне форума Ответить с цитированием
Старый 15.08.2011, 11:19   #17
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

завел маленькую формочку с кнопкой и текстбоксом, присвоил ей showModal false и добавил код

Private vPlay As Boolean
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click()
Dim i As Long
Dim iLast As Long
If CommandButton1.Caption = "Stop" Then
vPlay = False
CommandButton1.Caption = "Play"
Else
CommandButton1.Caption = "Stop"
vPlay = True
i = 1
Do
If (GetAsyncKeyState(vbKeyA)) Then
i = i - 1
ElseIf (GetAsyncKeyState(vbKeyB)) Then
i = i + 1
End If
'тут я напихал других букв и пробел такими же if...затем
If (iLast <> i) Then
With TextBox1
TextBox1.Text = ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces)
End With
End If
iLast = i
Sleep 25
DoEvents
Loop While vPlay
End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If (CommandButton1.Caption = "Stop") Then
CommandButton1_Click
End If
End Sub

Private Sub TextBox1_Change()
TextBox1.Text = ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces)
End Sub

все работает, но... из замеченного... перестает работать счетчик в статус баре, всегда дизэйбл. значит я ему мешаю )))
плохо что нужно добавлять кучу букв ... потому как цикл на самом деле должен быть очень короткий типа UP (отжатие любой клавиши)
кажись весь цикл крутится не переставая ...
стремно что эта формочка висит отдельно от всего ворда... но на встроенный в риббон editbox равно как и кнопку ...как-то мне кажется это не оказывает влияние...хм. или я не так прикручивал

неужели у тех кто читает не возникло мысли как это сделать? ведь тут тусуются такие гуру
VasilyGor вне форума Ответить с цитированием
Старый 15.08.2011, 11:51   #18
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

У меня не возникло... по-моему, необходим подключаемый код на Си.
Код:
showModal = False
и так уже очень крут в данной ветке!

Тут исследованиями вообще мало кто «страдает». Да и критикой не особо кто.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 15.08.2011, 19:28   #19
VasilyGor
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 19
По умолчанию

нет. нажатия клавиш я нахожу неинтересным. что-то шпионское.
писать модуль на си - нерациональным. думал я об этом. но надо будет закинуть пробный камень сишникам. но это еще одна dll ...хм

блин, при наборе текста в ворде ... внутри него происходят кучи событий. чего бы такого найти.

вот нарисовал кнопку и приделал к ней

Sub GetLabel(control As IRibbonControl, ByRef returnedVal)
Select Case control.ID
Case "button"
returnedVal = "число знаков: " & ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces)
End Select
End Sub

при открытии документа она все правильно показывает ( какого хрена? отчего это она так делает? что происходит при открытии документа? ...а потом ей пофиг... а нужно чтобы при изменении значения ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces) это как то отражалось и на ней...

смотрю в текст умной книги читаю
WM_SETREDRAW - указать должен ли элемент обновлять свое изображение при изменении содержимого.

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

>что происходит при открытии документа?
Его величество событие
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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