0

我有一个 Excel 2007 宏 (Visual Basic 6.5),它在 Excel 2010 下运行时会引发类型不匹配错误。这些错误与 VB 函数(如Mid()or )有关Instr()

谁能告诉我这些错误的原因?

如果 Excel 2010 系统上未安装(或不是当前)VB.NET,这会导致错误吗?

许多人在各种系统上使用此宏。以前我通过编写自己的函数来解决这些错误。

下面是相关代码,错误出现在中间一行:

bdash = 0
bdash = InStr(Dfiles(ii, 1), "-")
bperiod = InStr(bdash, Mid(Dfiles(ii, 1), "."))
bname$ = Mid(Dfiles(ii, 1), 1 + bdash, bperiod - 2)
tprefix$ = Mid(TemplateFile$, 1, 12)
4

1 回答 1

0

正如您在以下内容中提出的错误:

bperiod = InStr(bdash, Mid(Dfiles(ii, 1), "."))

您的问题部分就在那里Mid(Dfiles(ii, 1), ".")

Public Shared Function Mid( _
   ByVal str As String, _
   ByVal Start As Integer, _
   Optional ByVal Length As Integer _
) As String

我认为你的代码应该是这样的:

bperiod = InStr(bdash, Mid(Dfiles(ii, 1), bdash), "."))
于 2015-04-14T15:31:39.433 回答