0
這是我的宏與word合併。 我意識到我需要做更多的事情,從一系列可用的單詞文檔合併(xx1,xx2 ... xx7)中獲得提示。有6個單詞文檔,其中2個需要打開另一個常用單詞文檔(xx7)。即。當我選擇單詞文檔xx3或xx6時,我需要打開2個單詞文檔。如果我選擇xx3 word文檔,則會打開xx3和xx7,如果選擇xx6 word文檔,則會打開xx6和xx7。在此期間,xx1,xx2,xx4,xx5將打開一個單詞文檔。 我不想重複這個宏7次與其他單詞文檔名稱。任何機會我可以得到這個覆蓋在一個宏?謝謝顯示一個列表來選擇word文檔,然後一個宏將合併信息從excel到word
Sub RunMergeAttachBOccupantProtection()
Const wdFormLetters = 0
wdOpenFormatAuto = 0
Const wdSendToNewDocument = 0
wdDefaultFirstRecord = 1
wdDefaultLastRecord = -16
Dim wd As Object
Dim wdocSource As Object
Dim strWorkbookName As String
On Error Resume Next
Set wd = GetObject(, "Word.Application")
If wd Is Nothing Then
Set wd = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wdocSource = wd.Documents.Open("R:\Grants\AttachmentBOccupantProtection.docx")
strWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
wdocSource.MailMerge.MainDocumentType = wdFormLetters
wdocSource.MailMerge.OpenDataSource _
Name:=strWorkbookName, _
AddToRecentFiles:=False, _
Revert:=False, _
Format:=wdOpenFormatAuto, _
Connection:="Data Source=" & strWorkbookName & ";Mode=Read", _
sqlstatement:="SELECT * FROM [" & ActiveSheet.Name & "$]"
With wdocSource.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
wd.Visible = True
wdocSource.Close SaveChanges:=False
Set wdocSource = Nothing
Set wd = Nothing
End Sub
但我如何獲得的文件我可以再選擇列表中宏打開特定選擇,如果它xx3或xx6它打開xx3和xx7或xx6和xx7? – George