首页 > 解决方案 > 无效的过程调用或参数 vba

问题描述

我正在尝试在 Excel VBA 中使用此方法,我需要处理数据并将其粘贴到 Word 模板中,我已经在 word 模板文档中完成了格式化,我想要的只是将表格从 excel 复制到 word 并将表格更改为文本和保持文字格式。

当我运行它时,以下代码在 ConvertToText 上给我一个错误。

Const wdSeparateByDefaultListSeparator as Integer = 3
Set objWord = GetObject(class:="Word.Application")
'Clear the error between errors
Err.Clear
'If MS Word is not already open then open MS Word
If objWord Is Nothing Then Set objWord = CreateObject(class:="Word.Application")
'Handle if the Word Application is not found
If Err.Number = 429 Then
    MsgBox "Microsoft Word could not be found, aborting."
    GoTo SafeExit
End If
On Error GoTo 0

If FileOrDirExists(sPath & "\" & sTplName) Then
    Set objDoc = objWord.documents.Add(sPath & "\" & sTplName)
    objWord.Visible = True
Else
    MsgBox "Cannot find Word template, function aborted.", vbOKOnly + vbCritical, "Function Aborted"
    GoTo SafeExit
End If

rngCopy.Copy
Set objSelection = objWord.Selection

With objSelection
    .PasteExcelTable linkedtoexcel:=False, wordformatting:=True, RTF:=False
    .Tables(1).Rows.ConvertToText _
     Separator:=wdSeparateByDefaultListSeparator, _
     NestedTables:=True
End With

Application.CutCopyMode = False


我得到的唯一错误是在这一行:

.Tables(1).Rows.ConvertToText _
     Separator:=wdSeparateByDefaultListSeparator, _
     NestedTables:=True

如果我删除此行,它会在 word 文件中复制并创建表格,但我想删除表格并将其转换为具有 word 模板文档默认格式的文本。

拆表前:

前

删除表后:

后

它应该看起来与之前的图像完全相同,但不在表格中。

标签: excelvba

解决方案


推荐阅读