2017-01-26 4 views
1

Access 2010フォームでVBAを使用して、Wordテンプレートにテーブルからデータを入力しています。Access 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")場所にテンプレートに作業のハイパーリンクを挿入するために私を助けてくださいことはできますか?

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

そして、私が前に「を挿入するテキスト」を挿入しています。この場合、(同じセルに追加のテキストを追加する:

ハイパーリンクを保持するために、表のセルを参照する

答えて

0

、これを試してみてくださいハイパーリンク

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

ループはこのようなものに見えるだろうがそうあなた:。

Dim i As Integer 
    i = 1 
    While Not rs.EOF 

    objDoc.Hyperlinks.add Anchor:=objDoc.Tables(i).Cell(2, 1).Range, _ 
     Address:=rs("hyperlink") 
    With objDoc.Tables(i).Cell(2, 1).Range 
     .Collapse Direction:=wdCollapseStart 
     .Text = "Text to Insert" & Chr(11) 
    End With 
    objDoc.Tables(i).Cell(2, 2).Range.Text = "" & rs("description") 
     rs.MoveNext 
     i = i + 1 
    Wend 
+0

おかげで、RyanLを、これは実際に働いているprettテーブル内の全セルのためのy。 'TextToDisplay'パラメータを使ってリンクのテキストを変更することもできます。しかし、同じ表のセルにさらにテキストを追加する必要がある場合はどうすればよいでしょうか?ですから、同じセルにテキストとハイパーリンクが必要です。これは可能ですか? – yurin

関連する問題