|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.08.2011, 08:56 | #11 |
Пользователь
Регистрация: 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 это не "Дима из банды длинного" ... так что поиск это одно … мне бы направление поиска увидеть ))) гугл скоро меня забанит ))) мне кода не надо, мне чисто по-русски пока словами хотя бы, а там я уже поищу … покумекаю… |
05.08.2011, 09:30 | #12 |
Пользователь
Регистрация: 31.07.2011
Сообщений: 19
|
я уже придумал как я хочу. Но мне как раз не хватает обычных простых знаний, которые есть у вас.
Вот скажите мне ... мы можем постоянно изменяющиеся данные транслировать в ..например,..пусть будет ListBox в режиме реального времени? я понимаю, что даже в екселе нужно ввод нажать чтобы из ячейки передалась информация, но я также вижу, что на форме счетчик отображающий время работает принимая инфу и тут же ее отображая меняет ... как в программировании называются такие разные процессы? на каком принципе работает ВордКаунт на статус баре? |
05.08.2011, 10:10 | #13 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,040
|
>но я также вижу, что на форме счетчик отображающий время работает принимая инфу и тут же ее отображая меняет ...
поясните в 2003 Ворде где это смотреть, не возьму в толк |
05.08.2011, 10:39 | #14 |
Пользователь
Регистрация: 31.07.2011
Сообщений: 19
|
ну конечно не совсем в ворде это я примерял
http://www.your-save-time-and-improv...vba-timer.html я спрашиваю потому что пока не могу связать две вещи ... на которую изначально нацелился. Посыл был таков если ActiveDocument.ComputeStatistics(wd StatisticWords) отдает значения то почему бы не взять их используя TextBox1.ControlSource = ... после того как мне вышло сообщение что я дурак (Could not set ControlSource property. Invalid property value.) я отвлекся ... а потом уже было далеко заполночь. Вопрос - копать в этом направлении или эта мысль изначально обречена? |
05.08.2011, 10:48 | #15 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,040
|
если ActiveDocument.ComputeStatistics(wd StatisticWords) отдает значения
насколько я понимаю, отдавать то оно отдаёт, но когда, когда кто то у него спросит Вот такая заковырка Или я не так понимаю |
05.08.2011, 11:30 | #16 |
Пользователь
Регистрация: 31.07.2011
Сообщений: 19
|
это меня и напрягает
ведь в ворде в статус баре статистике у ВордКаунта никто ничего не просит. он знай тебе показывает отсчитывает.... вот и я так хочу. ну не эмулирует же он всякие нажатия. это глупо. хотя вы замечаете как он мигает. ввел символ..он на мгновение становится дизейблом, а потом показывает новые значения ... может как-нибудь прикрутить событие отпускания клавиши? типа Const KEYEVENTF_KEYUP = &H2 пойду помаракую пока с конструкцией Private Sub UserForm_Initialize() TextBox1.text = ActiveDocument.ComputeStatistics(wd StatisticCharactersWithSpaces) End Sub |
15.08.2011, 11:19 | #17 |
Пользователь
Регистрация: 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 равно как и кнопку ...как-то мне кажется это не оказывает влияние...хм. или я не так прикручивал неужели у тех кто читает не возникло мысли как это сделать? ведь тут тусуются такие гуру |
15.08.2011, 11:51 | #18 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
У меня не возникло... по-моему, необходим подключаемый код на Си.
Код:
Тут исследованиями вообще мало кто «страдает». Да и критикой не особо кто.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
15.08.2011, 19:28 | #19 |
Пользователь
Регистрация: 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 - указать должен ли элемент обновлять свое изображение при изменении содержимого. Но я так понимаю это относится к появляющемуся содержимому самого этого элемента когда это содержимое в него уже прилетело? ...хм. нет в жизни успокоения. нафиг мне эта мысль в голову пришла ... хоть бы в программировании что-то понимал. но остановиться уже не в силах. это как заноза. |
15.08.2011, 19:40 | #20 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,040
|
>что происходит при открытии документа?
Его величество событие |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа которая находит и печатает все группы знаков, в которые знак "*" входит не менее 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 |