Сегодня попробовал - работает хорошо. Т.е. при запуске скрипта «наперёд» выпрыгивает только окошко Проверки (одно). Тогда как в варианте FeyFre у меня выпрыгивают два окна: Проверки и дополнительное Word с текстом. Но вчера я самостоятельно менял значения в Word.ActiveWindow.WindowState= от 0 до 2, и Проверка то выпрыгивала «наперёд», но не выпрыгивала. Тогда как в варианте FeyFre стабильно «наперёд». Почему – так и не понял. Если ещё когда случится – отрапортую.
А себе я ещё добавил для принудительной настройки языка
[=] var pSelText=AkelPad.GetSelText();
[+] var nLangID=AkelPad.GetArgLine();
...
[=] else
[=] Word.ActiveWindow.WindowState=0; //wdWindowStateNormal
[+] if (nLangID)
[+] Word.Selection.LanguageIDOther=nLangID;
[=] oSpellDoc.Content.Text=pSelText;
Теперь скрипту можно передать параметр 1032 (напр.) и будет проверяться по-гречески при условии, если соответствующая проверка установлена.
Posted: Fri Jan 09, 2015 1:46 pm
by FeyFre
Instructor
Только окно проверки всплывает на заднем фоне. Но в отличии от Вашего исходного варианта(а также мною модифицированного) в панели задач "Winword" не появляется, поэтому приходится сворачивать всю ту сотню окон которые открыты(ну либо долго и нудно листать по Alt+Tab что тоже плохо ибо по какой-то причине искомое окно не в голове и не в хвосте списка а где-то по серединке).
ЗЫ: ещё баг. Если запустить скрипт без выделения, как положено всплывает окно ошибки, но: запущеный процесс WinWord собственно остается висеть надолго(навсегда я бы сказал). Происходит это потому что создание(var Word=new ActiveXObject("Word.application");) происходит всегда, потом выполняется проверка наличия выделения (if (pSelText)) которое уходит на else, а закрытие всего и вся(Word.Quit(true);) выполняется только если выделение было. *выдохнул*
Posted: Fri Jan 09, 2015 5:33 pm
by yozhic
FeyFre
окно проверки всплывает на заднем фоне
Утром запустил Инструкторовский 1.1 – всё работало, всплывало на переднем фоне. Сейчас решил поэкспериментировать, запустил 1.0 с Word.ActiveWindow.WindowState=2 - всплыло на заднем фоне. После этого снова запустил 1.1 – всплыло на заднем (что за фокусы ведь только что всплывало на переднем). И теперь что ни делаю, на переднем всплывает только ваш модифицированный вариант, все остальные варианты - на заднем.
ещё баг. Если запустить скрипт без выделения
Точно. А я то думаю откуда у меня куча незакрытых процессов Word взялась.
Posted: Fri Jan 09, 2015 9:04 pm
by KDJ
San_dr
Try this: ScreenView.js
Added: force redraw main window after changing view.
Posted: Fri Jan 09, 2015 9:44 pm
by San_dr
KDJ. спасибо бардзо
проблема решена, всё работает.
Ожидать завершения программы. 1 - ожидать, 0 - не ожидать (по умолчанию). СтильОкна
См. описание СтильГлавногоОкна метода /Show(). Замечание: программы могут игнорировать данный параметр.
/Exec("notepad.exe")
У меня отлично всё – лишних окон никаких, окошко проверки на переднем плане, Ворд в процессах больше не висит (когда не выделено ничего). Спасибо.
Posted: Mon Jan 12, 2015 3:52 pm
by FeyFre
Подтверждаю
( т.е. пока ничего не нарыл )
ЗЫ: таки нашел, но на любителя: выделил текст, нажал гор.клавиши, ну и так как я довольно гиперактивный а Word стартует не спеша(а у меня в фоне чего только не работает), то успеваю мышкой установить курсор куда-нибудь в другое место. Если при этом сильно (не)повезет, то скрип просто увидит пустое выделение, матернеться и закроется. Если же таки выделение успеет поймать, то в конце процесса проверки как догадываетесь исправленный текст вставится "не туда". Стоит ли предпринимать что-то в таких случаях уж решайте сами))