簡體   English   中英

800A0401 VBS錯誤

[英]800A0401 vbs error

我將我的excel vb代碼復制到了vbs中,我知道存在語義/邏輯差異,請多多指教。 我收到上面“ Next i ”(第44行)的錯誤-本質上是一個整數。

Set xlBook = GetObject("C:\Users\midi\Desktop\IT\E\PRF.xlsm")
   For each wsheet in xlbook.worksheets
   msgbox wsheet.name

next

Sub RefreshConns()
    ' Refreshes the connections according to the specified cells

With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With
Sheets("Run Macro").Activate
Dim connName 
Dim connStr 
Dim sqltext ' SQL text

Dim TempconnName 
Dim TempconnStr 
Dim Tempsqltext ' temporary SQL text
Dim i 
Dim SiteName 

SiteName = ActiveSheet.Cells(1, 2)
'MsgBox (SiteName)
For i = 5 To 11
connName = ActiveSheet.Cells(i, 1).Value
connStr = ActiveSheet.Cells(i, 2).Value
sqltext = ActiveSheet.Cells(i, 4).Value
'MsgBox (connName)

TempconnStr = Replace(connStr, "SiteNameVBA", SiteName)
'Debug.Print (ActiveWorkbook.Connections(connName).ODBCConnection.Connection)
'MsgBox (TempconnStr)
'Tempsqltext = Replace(sqltext, "SiteNameVBA", SiteName)

'On Error Resume Next
ActiveWorkbook.Connections(connName).ODBCConnection.CommandText = sqltext
ActiveWorkbook.Connections(connName).ODBCConnection.Connection = "ODBC;" & TempconnStr
ActiveWorkbook.Connections(connName).Refresh

Next i

With Application
    .EnableEvents = True
    .ScreenUpdating = True
End With

End Sub

Public Function ZeroToBlank(x String) String
If x = "0" Then
    ZeroToBlank = ""
Else
    ZeroToBlank = x
End If
End Function

Next關閉for循環。 但是您沒有任何for循環。 刪除這兩行,並在其next行。

EG和以前一樣,除了聲明變量之外,您不能聲明任何其他的事情,因為可以通過省略as type來完成。 您只是不考慮類型。

Public Function ZeroToBlank(x)
    If x = "0" Then
        ZeroToBlank = ""
    Else
        ZeroToBlank = x
    End If
End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM