我目前有一个CSV文件,它有多个不同的信息,但它的文档名称总是作为第一列。我有代码打开CSV,然后将其读入数组,但是当它打开文档进行合并时,它将打开文档并合并所有行,使当前4个文档总共在1中。
我想要的是每行1个文档,然后关闭合并文档并打开下一个用于合并然后关闭等等每行。每行可以有不同的文档名称。
以下是我目前正在使用的代码:
Dim LLCODE$, FileNo$, Defendant$
Set fs = CreateObject("Scripting.FileSystemObject")
Set objTextFile = fs.OpenTextFile(UserDir$ + "combined12.csv")
objTextFile.skipline
Do Until objTextFile.AtEndofLine
arrStr = Split(objTextFile.Readline, ",")
LLCODE$ = arrStr(0)
FileNo$ = arrStr(26)
Defendant$ = arrStr(33)
testdoc = FormDir$ + LLCODE$ + ".docx"
Set oWord = CreateObject("Word.Application")
With oWord
.WindowState = wdWindowStateMaximize
Set oDoc = Documents.Open(testdoc, ConfirmConversions:=True, ReadOnly:=False, Visible:=True)
With oDoc.MailMerge
.OpenDataSource Name:=UserDir$ + "combined12.csv", ConfirmConversions:=True, LinkToSource:=True
.Execute 'Pause:=something
End With
ActiveDocument.SaveAs (UserDir$ + "Merge\" + FileNo$ + "-" + Defendant$ + ".docx")
ActiveDocument.Close
.WindowState = wdWindowStateMaximize
'MsgBox ActiveDocument.Name
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
Set oDoc = Nothing
End With
Set oWord = Nothing