powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копировать гиперссылку в буфер обмена
11 сообщений из 11, страница 1 из 1
Копировать гиперссылку в буфер обмена
    #39314502
GfiFer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Так как класс Hyperlinks разработан для Exel - пишу сюда. В некоторые документы мне нужно вставлять ссылки на письма в outlook. Для получения ссылок написал такой макрос, он копирует внутренний ID письма и создает верную ссылку, никак не могу сделать так, чтобы в буфер копировалась именно гиперссылка

Работающий макрос, копирующий обычную ссылку и тему письма:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub CopyLink()
   Dim objMail As Outlook.MailItem
   Dim doClipboard As DataObject
   Set doClipboard = New DataObject
 
   If Application.ActiveExplorer.Selection.Count <> 1 Then
       MsgBox ("Можно выбрать только одно письмо")
       Exit Sub
   End If
 
   Set objMail = Application.ActiveExplorer.Selection.Item(1)
   doClipboard.SetText "[[outlook:" + objMail.EntryID + "][MESSAGE: " + objMail.Subject + " (" + objMail.SenderName + ")]]"
   doClipboard.PutInClipboard
End Sub



Попытка сделать копирование гиперссылки:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub CopyLink()
   Dim objMail As Outlook.MailItem
   Dim doClipboard As DataObject
   Set doClipboard = New DataObject
 
   If Application.ActiveExplorer.Selection.Count <> 1 Then
       MsgBox ("Можно выбрать только одно письмо")
       Exit Sub
   End If
   Set objMail = Application.ActiveExplorer.Selection.Item(1)
   ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
        "outlook:" + objMail.EntryID, SubAddress:="", ScreenTip:="", TextToDisplay:=objMail.SenderName
   Selection.Copy
End Sub
 



На последней строке выдаёт ошибку: 4605 "Метод или свойство недоступны, поскольку выделенный текст отсутствует"
Подскажите, как победить
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39314511
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
PutInClipboard

Путин детектед.

GfiFer На последней строке выдаёт ошибку: 4605 "Метод или свойство недоступны, поскольку выделенный текст отсутствует"наверное потому что в Anchor:=Selection.Range и Selection.Copy должно быть не просто Selection, а Application.ActiveExplorer.Selection
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315662
GfiFer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy, не помогает :(
Та же ошибка.. А вообще реально создать гиперссылку в буфере обмена, не выбирая ничего? То есть на заведомо известный адрес с заведомо известным именем ссылки? Не подскажите, где примеры можно найти?
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315681
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GfiFer,

даю наводку - ищите как создать письмо в формате HTML(.HTMLBody в Outlook). Только в этом формате возможно создать гиперссылке в письме Outlook.
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315731
GfiFer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, я уже смотрел это, но это не то что нужно. Мне нужен аналог программы "Lnker for Windows", но только ссылки должны получаться "кликабельными", а вставляться не в Outlook, а например в Word.
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315739
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делайте обычный html со своими линками <a href=....>...
и открывайте хоть в ворде, хоть в эксплорере
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315791
GfiFer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
В том и дело, что если просто добавить в строку теги, то при вставке в ворд получается ровно та же строка "<html><body> <a herf= ... a></body></html>", а не гиперссылка.

P.S. теги пробовал и менять, и добавлять, и убирать, и переформатировать - не помогает
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315792
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, ладно?
октрываете файл html из ворда и у вас ссылок нет?
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315795
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<html>
<head>
<title>
RBC
</title>
</head>
<body>
<a href="http://www.rbc.ru">rbc.ru</a>
</body>
</html>



вот таколй файл сохраните с раширением html и откройте его в ворде как файл html
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39315857
GfiFer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
Да, так работает. Но мне нужно несколько другое.
Если затолкать в буфер "<html><head><title>RBC</title></head><body><a href=" http://www.rbc.ru">rbc.ru</a></body></html>", а потом нажать "Вставить" в Ворд - вставит он ровно ту же строку
...
Рейтинг: 0 / 0
Копировать гиперссылку в буфер обмена
    #39316139
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем вам этот буфер?
пишите сразу в файл и его открывайте в ворде или , если уже открыт, обновляйте.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копировать гиперссылку в буфер обмена
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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