[英]Access to Word using Bookmarks, how to perform an action if a bookmark is left blank
在這里訪問相當新,我覺得這應該是一個非常簡單的修復,但我嘗試的一切都不起作用。
基本上我想要做的是為我正在處理的數據庫制作一個沼澤標准的字母生成按鈕,它工作得很好,除非我正在提取所有數據的表單上沒有填寫字段. 例如,我可以選擇第二個地址行,但並非所有地址都有一個,因此它通常留空,但這意味着我的地址如下所示:
地址第一行
鎮縣郵政編碼
當我希望它們看起來像這樣時:
地址第 1 行鎮縣郵政編碼
我已經嘗試了所有看起來的方法,但似乎沒有任何效果!
感謝您提供任何建議或幫助!!
這是我的代碼順便說一句
Private Sub btnManagerLetter_Click()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Dim rs As DAO.Recordset
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents.Open("\\middle\Data\DataBaseWordDocs&Ding\ding\InsCoLtrTemplate.docx")
Set rs = CurrentDb.OpenRecordset("qryManagerDetails")
wdApp.Visible = True
wdDoc.Bookmarks("ManagerName").Range.Text = Nz(rs![Manager Name], "")
wdDoc.Bookmarks("AddressLine1").Range.Text = Nz(rs![Address Line 1], "")
wdDoc.Bookmarks("AddressLine2").Range.Text = Nz(rs![Address Line 2], "")
wdDoc.Bookmarks("Town").Range.Text = Nz(rs![Town], "")
wdDoc.Bookmarks("County").Range.Text = Nz(rs![County], "")
wdDoc.Bookmarks("PostCode").Range.Text = Nz(rs![Post Code], "")
End Sub
我建議您將地址粘貼為一個塊的地址的單個書簽。
使用輔助函數構建地址字段,僅當新字符串不為 Null 時才追加。
例如:
Public Function Append(ByVal originalString As String, ByVal newString As String, Optional ByVal separator As String = " ") As String
If Len(newString) > 0 Then
AppendString = originalString & separator & newString
Else
AppendString = originalString
End If
End Function
然后只需構建地址塊並將其作為單個字符串一起插入書簽。
Sub T()
Dim address As String
address = Nz(rs![Address Line 1], vbNullString)
address = Append(address, Nz(rs![Address Line 2], vbNullString))
address = Append(address, Nz(rs![Town], vbNullString))
address = Append(address, Nz(rs![County], vbNullString))
address = Append(address, Nz(rs![Post Code], vbNullString))
wdDoc.Bookmarks("Address").Range.Text = address
End Sub
您可以更改分隔符以滿足您的需要,一個空格" "
或一個新行vbNewLine
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.