簡體   English   中英

Mac Excel 2016 (16.36) 上的 Excel VBA 運行時錯誤 1004

[英]Excel VBA Run-time error 1004 on Mac Excel 2016 (16.36)

Public ConnestionString As String
Public Function DriverConnector()  
#If Mac Then
    'if Mac then use this driver
    ConnectionString = "ODBC;Driver={Amazon Redshift};SERVER={rs.asdfreqt2.us-east-1.redshift.amazonaws.com};UID=user_ro;PASSWORD=pwd;DATABASE=rptg;PORT=8192"
#End If
End Sub

以上是來自連接器功能的 Mac 片段

#If Mac Then
    

    ThisWorkbook.Sheets(Sheet7.Name).Range("A1:A2").Clear
    sqlCommand = "SELECT CASE WHEN usename IS NOT NULL THEN 'True' ELSE 'False' END AS authorized " & _
                 "FROM pg_user , pg_group  WHERE " & _
                 "pg_user.usesysid = ANY(pg_group.grolist) AND  " & _
                 "pg_group.groname='sssrfullaccess' AND usename = '" & LCase(Environ("USER")) & "'"

    With ThisWorkbook.Sheets(Sheet7.Name).QueryTables.Add(Connection:=ConnectionString, Destination:=ThisWorkbook.Sheets(Sheet7.Name).Range("A1"), Sql:=sqlCommand)
        .BackgroundQuery = False
        .Refresh
    End With
    user_auth = ThisWorkbook.Sheets(Sheet7.Name).Range("A2").Value
    
    If user_auth = "True" Then
        MsgBox ("Access granted. Check Approved Filters tab for approval parameters.")
    Else
        reqAccess = MsgBox("You do not have permission to use this file.  Click Yes to Close the File and request access, click No to close the file.", vbYesNo)
        If reqAccess = vbYes Then
            Call Mail_Access_Request_Outlook
            ThisWorkbook.Close
        End If
    End If

Mac 的代碼片段。 我得到了 .Refresh 的 1004,我不知道為什么。 我已經驗證了 QueryTables.Add 中的 ConnectionString 是正確的,我在同一個地方驗證了 sqlCommand 是正確的。 它僅在 .Refresh 上拋出 1004

我知道在過去的 Excel for Mac 版本中這是一個問題,但是我找不到任何最近的內容或任何內容來說明它是否已修復。 我怎樣才能解決這個問題?

嘗試這個:

With ThisWorkbook.Sheets(Sheet7.Name).QueryTables.Add(Connection:=ConnectionString, Destination:=ThisWorkbook.Sheets(Sheet7.Name).Range("A1"), Sql:=sqlCommand).Refresh 
     BackgroundQuery:=False
End With

圍繞此錯誤代碼的其他答案表明 Refresh 是一種方法,應使用 With 來設置屬性。

暫無
暫無

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

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