MS Access电子邮件表超链接

时间:2020-05-13 20:24:49

标签: html vba ms-access

我已经创建了一个表,并根据MS Access中的查询通过电子邮件发送该表,并且其中一个字段是指向服务器上文件的超链接。当模块运行并在Outlook中创建表时,超链接只是文件在服务器上的位置的文本。我的HTML实力不是那么强,所以我很难调试为什么无法获得该字段来创建超链接,而不仅仅是文件位置作为文本。下面我尝试在电子邮件表中为“ DRAWING LINK”创建超链接:

        "<tr>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Job Number</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Stock Number</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Material and Spec</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Order Size</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Days In Processing</b></td>" & _
"<td bgcolor='#7EA7CC'>&nbsp;<b>Drawing Link</b></td>" & _
"</tr>"

i = 0

Do While Not rs.EOF

If (i Mod 2 = 0) Then
rowColor = "<td bgcolor='#FFFFFF'>&nbsp;"
Else
rowColor = "<td bgcolor='#E1DFDF'>&nbsp;"
End If

strMsg = strMsg & "<tr>" & _
rowColor & rs.Fields("Job Number") & "</td>" & _
rowColor & rs.Fields("Commodity Code") & "</td>" & _
rowColor & rs.Fields("Spec") & "</td>" & _
rowColor & rs.Fields("Ord") & "</td>" & _
rowColor & rs.Fields("Idle") & "</td>" & _
rowColor & rs.Fields "<a href="("Drawing Link")" & "</a>""</td>" & _ ***MY HTML WONT CREATE THE HYPERLINK***
"</tr>"

1 个答案:

答案 0 :(得分:1)

“访问超链接”字段将超链接存储为三部分值,以#字符分隔(查看http://allenbrowne.com/casu-09.html):
display text#filename#any reference within the file

嵌入HTML标记将需要提取中间部分。使用内在函数HyperlinkPart()进行计算就可以实现这一点。在查询或VBA中进行提取。

正确的字符串连接语法:

rowColor & "<a href='" & HyperlinkPart(rs![Drawing Link], acAddress) & "'>Click Here</a></td>" & _

如果“超链接”字段的“显示文本”部分中包含内容,则可以再次使用HyperlinkPart()函数从该字段中提取并进行连接,以代替单击此处