Что нового

Сделать так, чтобы при нажатии гиперссылки в MS Word, данные ссылки передавались

Suppir

Продвинутый
Сообщения
967
Репутация
62
Сделать так, чтобы при нажатии гиперссылки в MS Word, данные ссылки передавались другой программе. Например, если в тексте есть адреса сайтов, то при клике на них открывается IE. Можно ли делать такие ссылки, чтобы при клике на них данные ссылки передавались вашей программе?
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
370
http://msdn.microsoft.com/en-us/library/aa221981%28v=office.11%29.aspx
Не знаю как можно отловить событие клика по ссылке, тем более что не нашел свойства hyperlink.followed (посещенный линк),но , как вариант, можно попытаться отлавливать события запуска IE с ссылками из документа Word.
Worda под рукой нет, так что экспериментируй с этим:
Код:
$oWord = ObjGet('', 'Word.Application')
For $i = 1 To $oWord.ActiveDocument.Hyperlinks.Count
    ConsoleWrite($oWord.ActiveDocument.Hyperlinks($i).Address  & @CRLF)
;~     ConsoleWrite($oWord.ActiveDocument.Hyperlinks($i).HyperlinkAddress  & @CRLF)
Next

и этим
http://autoit-script.ru/index.php/topic,2198.msg16013.html
 

Vlasssov

Осваивающий
Сообщения
430
Репутация
25
Если гиперссылка представляет из себя веб адрес, по попробуйте заменить ее таой конструкцей
Ваша_программа Адрес

При этом программа должна работать с аргументами в командной строке. Заменить вс можно используя предидущий фрагмент

Код:
$prog = "myprog.exe "
$oWord = ObjGet('', 'Word.Application')
For $i = 1 To $oWord.ActiveDocument.Hyperlinks.Count
    $oWord.ActiveDocument.Hyperlinks($i).Address  = $prog&    $oWord.ActiveDocument.Hyperlinks($i).Address
Next
 

RUVATA

лучше один раз увидеть, чем десять раз услышать...
Сообщения
132
Репутация
38
Вопрос...
а как ваша программа получает данные, в ней реализован какой-то специальный интерфейс, или она юзает виндовский контроллер ввода/вывода ?
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
RUVATA [?]
а как ваша программа получает данные, в ней реализован какой-то специальный интерфейс, или она юзает виндовский контроллер ввода/вывода ?
А вот это уже второй вопрос. 1 тема - один вопрос.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
623
`p r o x y
мне кажется, это обсуждение вопроса касаемо скриптов из этой темы ;)
 

RUVATA

лучше один раз увидеть, чем десять раз услышать...
Сообщения
132
Репутация
38
`p r o x y [?]
А вот это уже второй вопрос. 1 тема - один вопрос.
Ну мне хотелось бы что-то посоветовать автору вопроса, если это в моем ореоле знаний... для этого надо располагать объективной картиной... я вот пытался выяснить один их таких моментов...
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Передача данных в AutoIt скрипты осуществляется:
- через коммандную строку при запуске припта
- потоки stdin/Stdout
- WinApi, ini/txt, GUI и т.д. и т.п.
А это уже другая тема разговора.
 
Верх