Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2010, 02:39   #1
steff44
 
Регистрация: 22.02.2010
Сообщений: 3
По умолчанию Некорректная работа гиперссылок Microsoft Word 2010.

В тексте документа 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.
ОС Windows 7 Ultimate 6.1.7600х64. Михаил 5859324@mail.ru.
steff44 вне форума Ответить с цитированием
Старый 24.02.2010, 13:49   #2
WordVest
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 36
По умолчанию

Попробуй для файлов с нужным разрешением выбрать ACDSee открыте по умолчанию, у меня например по умолчанию фотошоп стоит и по ссылке через него открывается.....
WordVest вне форума Ответить с цитированием
Старый 24.02.2010, 16:22   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

У меня тоже стоит, но открывает в Internet Explorer
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 24.02.2010, 17:37   #4
WordVest
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 36
По умолчанию

Блин, открываешь файл правой кнопкой, у тебя в меню будет «Открыть с помощью», ставишь ACDSee, если на данном компе стоит и флажок «Для всех файлов»
WordVest вне форума Ответить с цитированием
Старый 24.02.2010, 22:16   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

У меня по умолчанию стоит XnView, но картинка открывается в IE, хотя его даже нет в списке открыть c помощью.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 24.02.2010, 23:32   #6
WordVest
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 36
По умолчанию

Проверь еще раз открытие по умолчанию, если проги не стоит в системе, то будет открываться в другой.......
WordVest вне форума Ответить с цитированием
Старый 26.02.2010, 23:16   #7
steff44
 
Регистрация: 22.02.2010
Сообщений: 3
По умолчанию

Спасибо за отклик, но, позволю себе уточнить проблему:
1. В документах Microsoft Office 2010 Word или Excel созданы гиперссылки связанные с файлами *.jpg, *.gif, *.png. При переходах эти файлы открываются в Internet Explorer, не смотря на то, что они сопоставлены с ACDSee.
2. Для чистоты эксперимента сначала были восстановлены файловые ассоциации по умолчанию путем импорта соответствующих разделов реестра Windows 7
(http://www.sevenforums.com/tutorials...s-restore.html), а именно ассоциации для:
-*.gif - Internet Explorer
-*.jpg - Просмотр фотографий Windows
-*.png - Просмотр фотографий Windows
3. Затем файловые ассоциации были настроены стандартными средствами Windows 7 (Задание сопоставлений программы и Сопоставление типов файлов или протоколов конкретным программам) на открытие файлов *.jpg, *.gif, *.png в просмотровщике ACDSee Pro 3 (в нем они и открываются двойным кликом по файлу).
4. При переходах по гиперссылкам из документов Microsoft Office 2010 Word или Excel эти файлы продолжают открываться в Internet Explorer.
5. При отключенном Internet Explorer попытка открыть гиперссылку приводит к сообщению: "Этому файлу не сопоставлена ни одна программа."
6. Решение видимо кроется в изменении настроек Microsoft Office 2010, а именно в сопоставлении
файлов *.jpg, *.gif, *.png ACDSee Pro 3 вместо Internet Explorer.
7. Двухдневные блуждания па реестру Windows 7 проблему не решили. Подозреваю, что решение очень простое. Нужно только знать какой параметр реестра открыть и что в нем изменить.
Интерес не праздный: имею документы Word или Excel, в которых созданы тысячи таких гиперссылок, которые теперь приходится открывать через «Пуск» - «Выполнить».
steff44 вне форума Ответить с цитированием
Старый 27.02.2010, 03:52   #8
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Это старая проблема. Проявляется она отнюдь не только в 14 офисе
Решение известно для 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
Вложения
Тип файла: zip reg.zip (458 байт, 323 просмотров)

Последний раз редактировалось Aent; 27.02.2010 в 05:30.
Aent вне форума Ответить с цитированием
Старый 27.02.2010, 16:49   #9
steff44
 
Регистрация: 22.02.2010
Сообщений: 3
По умолчанию

Aent, спасибо огромное! После импорта представленного Вами reg-файла в реестр все ссылки из Microsoft Office 2010 Word заработали правильно – файлы стали открываться в ACDSee Pro 3 . С Excel тоже попытаюсь разобраться, но мне – юристу – сложновато будет. Остались два вопроса:
1. После изменения реестра при переходах по гиперссылкам из документов Word на файлы *.xlsx, *.docx или *.doc Office 2010 стал выдавать предупреждение (прицеплено к посту). До изменения реестра такое предупреждение предваряло открытие других файлов, вчт. *.pdf, *.tif. Это небольшое неудобство. Но, может быть, есть способ избавиться от этого предупреждения.
2. Могу ли я разместить ссылку на Ваше решение еще на тех нескольких форумах, где обсуждается некорректная работа гиперссылок Microsoft Word?
Изображения
Тип файла: gif предупреждение.gif (9.3 Кб, 436 просмотров)

Последний раз редактировалось steff44; 27.02.2010 в 23:48.
steff44 вне форума Ответить с цитированием
Старый 02.11.2010, 17:06   #10
DaoDeDzin
Новичок
Джуниор
 
Регистрация: 11.03.2009
Сообщений: 1
По умолчанию

Andrey Entelis, спасибо!
Но после редактирования реестра подвисает эксель (hyperlinks from within excel to other excel workbooks do not open and in fact cause excel to hang)

Последний раз редактировалось DaoDeDzin; 03.11.2010 в 09:04.
DaoDeDzin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mkfifo, некорректная работа (Линукс) IceBreaker Помощь студентам 4 21.03.2012 13:34
Некорректная работа потока 3D Hunter Общие вопросы Delphi 7 09.03.2009 10:51
Создание гиперссылок в Word Hypermaster Общие вопросы Delphi 1 06.10.2008 11:39
BDE и DataBase Desktop - некорректная работа в Vista Dux БД в Delphi 9 03.04.2008 23:18