gpt4 book ai didi

excel - 将 For Each 迭代对象传递给函数时为 "ByRef argument type mismatch"

转载 作者:行者123 更新时间:2023-12-03 02:42:16 24 4
gpt4 key购买 nike

当我尝试将 Table 对象传递到单独的函数中时,我收到此 ByRef 参数类型不匹配 错误。

发生错误的代码:

Dim doc As Word.Document
Set doc = ActiveDocument

For Each OuterTable In doc.Tables
For Each InnerTable In OuterTable.Tables
If InStr(InnerTable.Cell(1, 1).Range.Text, "SomeString") > 0 Then
currentCV.AddProject ExtractProjectInfo(InnerTable) ' <- Error here
End If
Next InnerTab
Next OuterTable

提取项目信息方法:

Function ExtractProjectInfo(projTable As Table) As Project
Dim proj As Project
Set proj = New Project
' Commented out code
Set ExtractProjectInfo = proj
End Function

传入任何其他对象都可以正常工作,只是 Table 给出了此错误。我假设我在这里错过了一些非常简单的东西?更奇怪的是,这个方法在某些时候确实有效,而且我不记得更改过与循环或函数相关的任何内容。

最佳答案

你可以尝试将函数声明更改为-

函数 ExtractProjectInfo(ByVal projTable As Table) As Project

或添加此行 -

将 InnerTable 调暗为表格

之前-

对于 OuterTable.Tables 中的每个 InnerTable

关于excel - 将 For Each 迭代对象传递给函数时为 "ByRef argument type mismatch",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com