Последние записи
- HttpWebRequest выдаёт много ошибок при неудачном соединении
- Как обратиться к последней ячейке не связанного диапазона
- Управление громкостю MediaPlayer
- Как использовать java для бэкенда веб-сайтов и веб-скриптов?
- Некорректная работа гиперссылок Microsoft Word 2010
- Функция рисования для печати на принтере ScanLine
- Функция CharInSet (множества) не работает для русских букв
- Вывод изображений на печать
- Посимвольный перебор строки (сравнение скорости двух методов)
- png в ico с прозрачностью и разными разрешениями
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
27th
Июн
Некорректная работа гиперссылок Microsoft Word 2010
Posted by obzor under Софт
В тексте документа Microsoft Word 2010 созданы гиперссылки связанные с файлами *.jpg, *. gif, *. png. При переходах эти файлы открываются в Internet Explorer не смотря на то, что они сопоставлены с ACDSee. Как добиться открытия в ACDSee файлов *.jpg, *. gif, *. png щелчком по гиперссылке в документе Microsoft Word 2010? В Microsoft Word 2007 проблема решалась удалением следующих ветвей реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes \ ACDSee Pro 3.jpeg
HKEY_LOCAL_MACHINE\SOFTWARE\Classes \ ACDSee Pro 3.gif
HKEY_LOCAL_MACHINE\SOFTWARE\Classes \ ACDSee Pro 3.png
и последующим сопоставлением указанных расширений с ACDSee.

Решение известно для XP
http://social.answers.microsoft.com/…0-6d179c941585
HKEY_LOCAL_MACHINE\Software\Microso ft\Office\9.0\Common\Internet:
DWORD ForceShellExecute = 1
У меня сработало в Windows 7. .reg файл прицеплен к посту.
Но есть и другой путь:
Для Excel:
Я бы порекомендовал добавить в книгу свой обработчик правого клика
В модуль кода:
Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
В модуль листа
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim sPath As String
Const SW_SHOWMAXIMIZED = 3
Const VK_CONTROL As Integer = &H11 'Ctrl
If GetKeyState(VK_CONTROL) < 0 Then 'Нажат CTRL ?
If Target.Cells.Count * Target.Hyperlinks.Count = 1 Then ' Выделена одна ячейка содержащая гиперлинк ?
Cancel = True
sPath = Target.Hyperlinks(1).Address 'Адрес файла
ShellExecute 0, "open", sPath, vbNullString, vbNullString, SW_SHOWMAXIMIZED 'Вызываем стандартный обработчик Open
End If
End If
End Sub
Можно так же сделать этот обработчик общим для всех листов, поместив его в модуль кода ЭтаКнига для события
Workbook_SheetBeforeRightClick.
Теперь если вы щёлкните на ячейке, содержащей гиперлинк, правой клавишей мыши с нажатым CTRL, то сразу запустится
обработчик OPEN для указанного в ссылке типа файла.
Для Word
Word 2010 у меня сейчас не установлен. В принципе вопрос решается так же.
Только обрабатывать надо Selection.Hyperlinks(1).Address. Макрос можно повесить на кнопку в ленте.
Или субклассировать Word и повесить обработчик на событие
В модуле класса clsWordEvent
Private WithEvents mobjWordApp As Word.Application
Private Sub Class_Initialize()
Set mobjWordApp = Word.Application
End Sub
Private Sub mobjWordApp_WindowBeforeRightClick(ByVal Sel As Selection, Cancel As Boolean)
'...
End Sub
В модуле ThisDocument
Dim MyWord As clsWordEvent
Private Sub Document_Open()
Set MyWord = New clsWordEvent
End Sub
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)


