簡體   English   中英

使用書簽訪問 Word,如果書簽留空如何執行操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM