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

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

с помощью 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
25.12.2008, 15:55
    #35735317
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
Код: 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
25.12.2008, 16:32
    #35735462
bliss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA+Outlook. Разные гиперссылки для 2000 и 2003?
Ashton,

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

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

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

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

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

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

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

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

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

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


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