将Excel中的每一行导出到自己的Word文档中

时间:2016-11-15 17:00:41

标签: excel vba excel-vba ms-word export

这将非常具体。

我有一张excel表,每行都有患者姓名和信息。第一行包含每列的标签。例如,列a是PatientName。我试图将每一行导出为他们自己的word文档,行中的每个单元格都有自己的行,每行之间有一个空格/分隔符。但我也希望第1行的标签与每个特定的行一起。同时将第一列aka PatientName作为每个文档的名称。

实施例

文件名:John Doe

遭遇日期
11-12-13

CC
腹痛

HPI
Doe先生是等等,一堆文字

\实施例

第1行看起来像: PatientName / EncounterDate / CC / HPI

我们想要开始的第2行看起来像: John Doe / 11-12-13 /腹部疼痛/先生。 Doe blah blah

每行有27个单元格

谢谢,如果您需要更多信息,请告诉我。 VBA代码。

编辑:这是我正在使用的代码,但它将每个文件放入Excel工作表中,并且不会在每行中添加第1行。

Sub SaveRowsAsCSV()

Dim wb As Excel.Workbook, wbNew As Excel.Workbook
Dim wsSource As Excel.Worksheet, wsTemp As Excel.Worksheet
Dim r As Long, c As Long

    Set wsSource = ThisWorkbook.Worksheets("AmazingChartsEncounters")

    Application.DisplayAlerts = False 'will overwrite existing files without asking

    r = 1
    Do Until Len(Trim(wsSource.Cells(r, 1).Value)) = 0
        ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(1)
        Set wsTemp = ThisWorkbook.Worksheets(1)

        For c = 2 To 27 'I didn't test it when I changed the 7 here to 27
            wsTemp.Cells((c - 1) * 2 - 1, 1).Value = wsSource.Cells(r, c).Value
        Next c

        wsTemp.Move
        Set wbNew = ActiveWorkbook
        Set wsTemp = wbNew.Worksheets(1)
        'wbNew.SaveAs wsSource.Cells(r, 1).Value & ".csv", xlCSV 'old way
        wbNew.SaveAs "textfile" & r & ".csv", xlCSV 'new way
        'you can try other file formats listed at http://msdn.microsoft.com/en-us/library/office/aa194915(v=office.10).aspx
        wbNew.Close
        ThisWorkbook.Activate
        r = r + 1
    Loop

    Application.DisplayAlerts = True

End Sub

0 个答案:

没有答案