powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA+Outlook. Разные гиперссылки для 2000 и 2003?
7 сообщений из 7, страница 1 из 1
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35735088
bliss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

очень надеюсь на Вашу помощь, т.к. ничего похожего на мою проблему найти не могу :( ...

с помощью VBA создается письмо (office 2000)
в тело письма добавляются ссылки с символами "<" и ">" в начале и конце, т.к. с помощью них гиперссылка будет целостной, даже если есть пробелы в строке.
в 2003 версии офиса так не выходит :(
ниже пример кода

проблема в том, что в 2003 получаются ссылки типа \\text1\new text1.doc

'отправка сообщения
Dim sAdr As String
Dim olkApp As Outlook.Application
Dim olNameSpace As Outlook.NameSpace
Dim objMailItem As Outlook.MailItem

Set olkApp = CreateObject("Outlook.Application")
Set olNameSpace = olkApp.GetNamespace("MAPI")
Set objMailItem = olkApp.CreateItem(olMailItem)

With objMailItem
.Subject = "Тема"
.Body = "Путь к файлу: <\\test\путь к файлу\файл.doc>"
.Display
End With

Set objMailItem = Nothing
Set olNameSpace = Nothing
Set olkApp = Nothing
...
Рейтинг: 0 / 0
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35735317
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
        .Body = "Путь к файлу: " & vbCrLf & _
          vbCrLf & "<file:///C:\New Folder\Doc1.doc>"

или так

Код: plaintext
1.
        .Body = "Путь к файлу: " & vbCrLf & _
          vbCrLf & "file:///C:\New%20Folder\Doc1.doc"

Хота, по идее, правильнее вот так.

Код: plaintext
1.
        .Body = "Путь к файлу: " & vbCrLf & _
          vbCrLf & "<file:///C:\New%20Folder\Doc1.doc>"

У меня работает во всех вариантах.
...
Рейтинг: 0 / 0
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35735462
bliss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ashton,

к сожалению не выходит
а виной всему как оказалось символ "№" в названии файла :(

может подскажете как быть?
...
Рейтинг: 0 / 0
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35735468
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35735671
bliss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

т.о. у меня должно получиться
из строки
C:\New Folder\Doc№.doc
новая строчка
<file:///C:\New%20Folder\Doc%B9.doc>
так?

"№" преобразуется в "%B9" с помощью
result = "%" & Hex$(Asc("№"))
так?

НО! если в адресе ссылки "%20" отображается как пробел, то "%B9" как надстрочный знак "1" ... т.о. ссылка получается некорректная :(

далее открываю "изменить гиперссылку" (вижу опять же единицу), ничего не меняю, жму ОК... адрес меняется на корректный

что я делаю не так?
...
Рейтинг: 0 / 0
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35735685
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это почему вы так решили?

result = "%" & Hex$(Asc("№"))
...
Рейтинг: 0 / 0
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
    #35739180
bliss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

основываясь на Вашем примере
http://www.vb-helper.com/howto_url_encode_string.html

я опять чего-то недопонимаю? :(
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA+Outlook. Разные гиперссылки для 2000 и 2003?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]