Добрый день! Есть таблица с гипперсылкой. Нужно отправить эту гипперсылку из EXCEL через outlook так, чтобы файл из гипперсылки стал вложением. Подскажите, пожалуйста, такая возможность есть?
по сути не самая такая интересная задача. Гиперссылка ведет на локальный путь к файлу, а такие ссылки слегка муторно могут определяться в разных версиях Excel. Но общий принцип именно такой, как в статье. Берете функцию из этой статьи: Как получить адрес гиперссылки из ячейки И используете следующим образом:
Код
Sub SendFile()
Dim sFilePath$
sFilePath = Get_Hyperlink_Address(Range("A4")) '
If Len(sFilePath) Then
If Dir(sFilePath) = "" Then
If Right(sFilePath, 1) <> "\" Then
sFilePath = sFilePath & "\"
End If
sFilePath = ThisWorkbook.Path & sFilePath
If Dir(sFilePath) = "" Then
MsgBox "Не удалось определить файл", vbCritical
Exit Sub
End If
End If
'теперь можно создать письмо и вложить как вложение файл sFilePath
'oMsg.Attachments.Add sFilePath
End If
End Sub
Function Get_Hyperlink_Address(ByVal rCell As Range) As String
Dim s As String
If rCell.Hyperlinks.Count = 0 Then
s = rCell.Formula
If Mid$(s, 2, 9) = "HYPERLINK" Then
'такой подход сработает только в случае, если в ячейке записана ссылка текстом
'но не сработает, если гиперссылка создана из ссылок на ячейки
' Get_Hyperlink_Address = Mid$(s, 13, InStr(13, s, Chr(34)) - 13)
'поэтому используем более сложный, но универсальный вариант
If s Like "=HYPERLINK*" Then
'получаем данные первого аргумента и убираем знак =
s = Split(s, ",")(0)
s = Mid$(s, 2, Len(s) - 1)
'на всякий случай добавляем скобку в конец формулы
'хоть Evaluate должен сработать и без неё
If Right$(s, 1) <> ")" Then
s = s & ")"
End If
Get_Hyperlink_Address = Evaluate(s)
End If
Else
Get_Hyperlink_Address = ""
End If
Else
s = rCell.Hyperlinks(1).SubAddress
If s <> "" Then s = "#" & rCell.Hyperlinks(1).SubAddress
Get_Hyperlink_Address = rCell.Hyperlinks(rCell.Hyperlinks.Count).Address & s
End If
End Function
останется вместо строки oMsg.Attachments.Add sFilePath сделать отправку письма(включив эту строку для вставки вложения). Тем таких много, поищите поиском и попробуйте адаптировать. Как пример: Как отправить письмо из Excel?