解析从Access VBA到Word模板的超链接

时间:2017-01-26 09:02:57

标签: vba ms-access hyperlink ms-word access-vba

我在Access 2010表单中使用VBA来填充包含来自表格数据的Word模板。

到目前为止我无法实现的是在文本中插入超链接。

为了方便我,我将所有数据插入模板中的表格,如下所示:

Private Sub button_Click()

On Error GoTo myError
Dim objWRD As Object 'Word.Application
Dim objDoc As Object 'Word.Document
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strRecords As String

'open a query and prepare the data'
Set db = CurrentDb()
Set qfd = db.QueryDefs("my_query")
Set rs = qfd.OpenRecordset()

'open a Word template'
Set objWRD = CreateObject("Word.Application")
objWRD.Visible = True
Set objDoc = objWRD.Documents.Add("path_to_my_document_template", , , True)
objWRD.ScreenUpdating = False


'insert records into template'
Dim i As Integer
i = 1
While Not rs.EOF
    objDoc.Tables(i).Cell(2, 1).Range.Text = "" & rs("hyperlink")
    objDoc.Tables(i).Cell(2, 2).Range.Text = "" & rs("description")
    rs.MoveNext
    i = i + 1
Wend

rs.Close
Set rs = Nothing

leave:
    Exit Sub
myError:
    MsgBox Error$
    Resume Next
End Sub

任何人都可以帮我将模板的工作超链接插入rs("hyperlink")地方吗?

1 个答案:

答案 0 :(得分:0)

如果您引用表格单元格以保存超链接,请尝试以下操作:

$.get('data/data.xml', {}, function (file) {
    xml = file;
}).then(function(){ 
    console.log('Loaded');
});

并在同一单元格中添加其他文字(在这种情况下,我要插入"要插入的文字"在超链接之前。

objDoc.Hyperlinks.add Anchor:=objDoc.tables(i).Cell(2, 1).Range, _
    Address:=rs("hyperlink")

所以你的While循环看起来像这样:

With objDoc.Tables(i).Cell(2, 1).Range
    .Collapse Direction:=wdCollapseStart
    .Text = "Text to Insert" & Chr(11)
End With