|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Уважаемые форумчане, хочу на клавишу "Esc" сделать и повесить свою процедуру на закрытие документа. Как в начале устроить проверку, что на курсоре весит какая-либо опция в готовности применить ее и сделать в начале отмену ее действия, а уже при повторном нажатии по "Esc", если ничего не мешает, тогда выполнить закрытие документа? Например "Цвет выделения текста" или "Формат по абзацу", что то типа того. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2015, 22:15 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Нет проблемы, если я правильно понял. Esc используется для закрытия текущего диалога, выпадающего списка и т.п. Если такой элемент активен, он перехватит Esc. А ваша процедура выполнится по Esc, только если курсор будет "в документе". А как повесить что-либо на Esc - нашли? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2015, 01:23 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Казанский, >как повесить что-либо на Esc - нашли? ;) интересно как? может, что новое узнаю.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2015, 07:12 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Ничего особо хитрого нет, запиши в макрос назначение сочетания клавиш какому-нибудь макросу, потом замени аргумент: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2015, 15:20 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Казанский, не въехал, где этот аргумент меняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2015, 15:42 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Как повесить свою процедуру на горячую клавишу Esc я и так знаю, я другое найти или вычислить не могу. Попытаюсь визуально описать, что мне нужно. На скриншоте, если мышкой юзером выбирается какая то... не знаю как эту хрень назвать, то курсор мышки видоизменяется под это действие и находится в ожидании его применения относительно обработки/оформления текста. У майкрософта по умолчанию эта фигня отменяется по нажатию на клавишу Esc, т.е. если воспользоваться например мастером для записи макросов, то команда будет такая: "Selection.EscapeKey", но мне удобно использовать Esc на закрытие документа. Я никак не могу вычислить что это за действие такое, чтобы к нему применить свое вот такое условие: - если на выбрано это неизвестное действие, - тогда сделать его отмену - иначе закрыть документ. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2015, 17:45 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
В продолжение темы закрытие док.ворд по клавише "ESC". Ребят помогите вот с каким моментом. Не могу понять, что держит ворд при переименовании папки (при необходимости) после выполнения моей процедуры, когда выполняется «Run», если пользователь внес изменения в док., нажал "Esc" и выбрал папку для пересохранения? Помогите со второй частью кода пожалуйста. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2015, 21:23 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
КазанскийНет проблемы, если я правильно понял. Esc используется для закрытия текущего диалога, выпадающего списка и т.п. Если такой элемент активен, он перехватит Esc. А ваша процедура выполнится по Esc, только если курсор будет "в документе". А как повесить что-либо на Esc - нашли? ;) здравствуйте, что-то я так и не понял как это делается? макрорекордер же не позволит навешать на эту кнопку что-то, нужно сочетание клавиш.... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 13:10 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
катастрофаздравствуйте, что-то я так и не понял как это делается? макрорекордер же не позволит навешать на эту кнопку что-то, нужно сочетание клавиш.... Повесить на свою процедуру горячую клашу/сочетание гор.клав. - это не проблема: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Меня интересует мой вопрос выше, кто-нибудь может мне помочь с вопросом. Я не могу понять что остается в процессе после отработки процедуры на этапе "objWordApl.Run "DocClose"? Что то, что не дает потом возможность переименовать папку и приходится закрывать оболочку Word. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 16:19 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
nataxa23, текущая активная директория можно попробовать сменить её командой chdir ".." после закрытия файла ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 15:43 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
или вот вариант . Мне кажется что этот вариант более правильный. Но как говорится "доверяй, но проверяй" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 15:49 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Игорь Горбоносили вот вариант . Мне кажется что этот вариант более правильный. Но как говорится "доверяй, но проверяй" :) Я с самого начала пробовала этот вариант Код: vbnet 1.
Но это не работает. После того как файл закрывается папку переименовать все равно не получается. Винда возмущается, а анлокер предлагает разблокировать WINWORD.EXE chdir та же песня. Вообще не понимаю какой процесс остается держать после отработки приведенного моего макроса выше? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 22:16 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
nataxa23, обычная запись макроса подсказывает решение. Я в проводнике создал папку "1", а в ней папку "3" и открыл ворд, в новом документе ткнул несколько клавиш и включив запись макроса сохранил файл в папке "3". Потом открыл записанный макрос и первой строкой была искомая функция. я добавил её в конец макроса и выполнил его. И все сразу переименовалось. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2015, 11:01 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
nataxa23Вообще не понимаю какой процесс остается держать после отработки приведенного моего макроса выше? На виндовсе, любая запущенная программа блокирует свой файл и путь к нему от изменений. Так-же блокируются файлы и папки открываемые в программах типа ворд, ексель. Когда файл закрывается, то освобождается блокировка самого файла, а путь к этому файлу может продолжаться блокироваться. В данном случае срабатывает плюшка офиса(на мой взгляд достаточно удобная, сам такое делаю в своих программах) - облегчать страдания пользователей и показывать ему сразу последнюю использовавшуюся папку при попытке показать диалог открытия или сохранения. Поэтому unlocker и "наговаривает" на ворд :) Согласен, в некоторых случаях это жутко неудобно, но в твоем случае как раз все решается леХко. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2015, 13:36 |
|
VBA Word - проверка опций на курсоре
|
|||
---|---|---|---|
#18+
Игорь Горбоносnataxa23Вообще не понимаю какой процесс остается держать после отработки приведенного моего макроса выше? На виндовсе, любая запущенная программа блокирует свой файл и путь к нему от изменений. Так-же блокируются файлы и папки открываемые в программах типа ворд, ексель. Когда файл закрывается, то освобождается блокировка самого файла, а путь к этому файлу может продолжаться блокироваться. В данном случае срабатывает плюшка офиса(на мой взгляд достаточно удобная, сам такое делаю в своих программах) - облегчать страдания пользователей и показывать ему сразу последнюю использовавшуюся папку при попытке показать диалог открытия или сохранения. Поэтому unlocker и "наговаривает" на ворд :) Согласен, в некоторых случаях это жутко неудобно, но в твоем случае как раз все решается леХко. Разобралась, все зделала, работает. Спасибо за помощь.:) Прописала строку: Код: vbnet 1.
Я с самого начала подозревала это. Просто одного чего то не пойму, почему с ChDir у меня в самом начале не вышло почему то...?!? Правда, я подозреваю, что просто тупо могла в торопях где-нить какую-нить орфо незначительную допустить, ну это как вариант... Делала просто уже в ночное время суток и спала в одном ботинке.:) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2015, 21:47 |
|
|
start [/forum/topic.php?fid=60&msg=38880133&tid=2155783]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 416ms |
0 / 0 |