Форматцевт Опубликовано 26 апреля, 2012 Жалоба Поделиться Опубликовано 26 апреля, 2012 (изменено) По сути я поставил "глобальную" цель избавиться от висящей в трее программы Punto Switcher - она меня "достала", ну это лирика. И так Punto Switcher умеет запускать функцию Microsoft Office Word 2003 которая проверяет орфографию. Я как понимаю это DLL-ка, но какая и что дать ей на вход и где считать, если текст правильный, т.е. без ошибок(я про флаг, текст лежит в буфере обмена) Попытки отловить это debugger-ми потерпели фиаско. Единственное что я смог найти это - Скачать mssp232.dll но вот описания нет, т.е. точек входа и т.д. Похоже что это не та dll, т.е. не mssp232.dll т.к. её в системе я не нашёл, хотя WORD стоит. P.S. Microsoft Office Word 2003 это мой частный случай, т.е. он стоит у меня, но думаю dll одинаковая для всех Microsoft Office Word Изменено 26 апреля, 2012 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
THE OLD VERMIN Опубликовано 26 апреля, 2012 Жалоба Поделиться Опубликовано 26 апреля, 2012 Откуда такая уверенность? Офис стоит далеко не у всех - это раз, использовать чужие модули небезопасно - это два. Да и глобальной проверки орфографии не наблюдается - обыкновенный словарь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 26 апреля, 2012 Автор Жалоба Поделиться Опубликовано 26 апреля, 2012 (изменено) Уверенность... нет, а знание - да. Согласен, что MS Word стоит не у всех, но я делаю под себя же. А по-сути я решил проблему - вызов происходит через COM/DCOM - вот скрипт на VBS Option ExplicitConst wdPasteText = 2Const wdDoNotSaveChanges = 0Dim objWordDim objDocDim intErrorCodeintErrorCode = 0Set objWord = WScript.CreateObject("Word.Application")Set objDoc = objWord.Documents.AddWith objDocOn Error Resume Next.Range.PasteSpecial 0, False, 0 ,False, wdPasteTextIf Err.Number = 0 Then On Error Goto 0 If Not objWord.CheckSpelling(.Range.Text) Then .CheckSpelling .Range.Copy End IfElse intErrorCode = 1 WScript.Echo "В буфере обмена отсутствуют поддерживаемые форматы данных"End If.Close wdDoNotSaveChangesEnd WithobjWord.Quit wdDoNotSaveChangesSet objDoc = NothingSet objWord = NothingWScript.Quit intErrorCode Изменено 26 апреля, 2012 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения