Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копировать гиперссылку в буфер обмена / 11 сообщений из 11, страница 1 из 1
23.09.2016, 16:35
    #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
23.09.2016, 16:39
    #39314511
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копировать гиперссылку в буфер обмена
Код: vbnet
1.
PutInClipboard

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

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

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

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


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