将段落(字符串)存储到将用于迭代的数组中-vba字

问题描述 投票:1回答:1

我一直在修改我在youtube上找到的宏,以将页面(邮件)分离为新的pdf文件。我添加了一些代码以将公司名称添加到文件名中。但是,当我运行代码时,它说“这不是有效的文件名”。问题是当我将这些段落存储到公司(i)中时。我进行debug.print,然后看到类似“此处的文字”的内容。我该如何解决?

Sub test()
Dim i, j, k, l As Long 'Iteradores
Dim var As Variant 'Parrafo
Dim org As Variant 'Condición 1
Dim org2 As Variant 'Condición 2
Dim company(100) As Variant 'Array
Dim num_paginas As Integer
Dim num_doc As Integer
Dim pag_inicial As Integer
Dim pagina_final As Integer
Dim URL As String
Dim nombres As String

j = 1
org = ActiveDocument.Paragraphs(2).Range.Text
org2 = ActiveDocument.Paragraphs(20).Range.Text
For k = 1 To ActiveDocument.Paragraphs.Count
    var = ActiveDocument.Paragraphs(k).Range.Text
        If var = org Or var = org2 Then
        company(j) = Trim((ActiveDocument.Paragraphs(k + 4).Range.Text))
        j = j + 1
        End If
Next k


For l = 1 To 100
Debug.Print VarType(company(l))
Next l

num_paginas = InputBox("Ingrese el numero de paginas por documento")
num_doc = InputBox("¿Cuantos documentos desea generar?")
URL = InputBox("¿Donde desea crear los documentos?")
nombres = InputBox("¿Que nombre tendran los Documentos?")
pag_inicial = 1
pagina_final = num_paginas

MsgBox (URL & "\" & "0" & i & " - " & nombres & company(1) & ".pdf") 'Test

For i = 1 To num_doc
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        URL & "\" & "0" & i & " - " & nombres & company(i) & ".pdf", ExportFormat:= _
        wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
        wdExportOptimizeForPrint, Range:=wdExportFromTo, From:=pag_inicial, To:=pagina_final, Item:= _
        wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False
    ChangeFileOpenDirectory URL

pag_inicial = pagina_final + 1
pagina_final = pagina_final + num_paginas
Next i
End Sub
arrays string word-vba paragraph
1个回答
0
投票

大概您正在尝试从邮件合并中拆分输出。在这种情况下,最好在执行合并时进行拆分,有关该拆分的信息,请参见Mailmerge提示和技巧线程中的将Mailmerge输出发送到单个文件https://www.msofficeforums.com/mail-merge/21803-mailmerge-tips-tricks.html

有关合并后的拆分,请参见同一页面上的将合并的输出拆分成单独的文档

© www.soinside.com 2019 - 2024. All rights reserved.