VBA SysCmd编译错误(子或function未定义)

我是新来开发VBA的代码,我正在从一个Excel文档运行的function,目标是上传文件到Sharepoint传递用户凭据,当我编译它我在SysCmd(Sub或Function未定义)上的错误,请咨询…提前感谢。

该function是从Excel触发的,

Public Sub CopyToSharePoint() On Error GoTo err_Copy Dim xmlhttp Dim sharepointUrl Dim sharepointFileName Dim tsIn Dim sBody Dim LobjXML As Object Dim UserName As String Dim pw As String Dim RetVal Dim i As Integer Dim TotFiles As Integer Dim Start As Date, Finish As Date Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim fldr As Object 'Folder Dim f As Object 'File Set fldr = fso.GetFolder("c:\vba2sharepoint\") UserName = "mysharepointusername@domain.com" pw = "mysharepointpassword" sharepointUrl = "https://mysite.sharepoint.com/sites/xyz-uat/_layouts/15/start.aspx#/a1docsuat/" Set LobjXML = CreateObject("Microsoft.XMLHTTP") TotFiles = fldr.Files.Count For Each f In fldr.Files sharepointFileName = sharepointUrl & f.Name Set tsIn = f.OpenAsTextStream sBody = tsIn.ReadAll tsIn.Close Set xmlhttp = CreateObject("MSXML2.XMLHTTP.6.0") xmlhttp.Open "PUT", sharepointFileName, False, UserName, pw xmlhttp.Send sBody i = i + 1 RetVal = SysCmd(acSysCmdSetStatus, "File " & i & " of " & TotFiles & " copied...") Next f RetVal = SysCmd(acSysCmdClearStatus) Set LobjXML = Nothing Set fso = Nothing err_Copy: MsgBox Err & " " & Err.Description If Err <> 0 Then MsgBox Err & " " & Err.Description Resume Next End If End Sub 

SysCmd是一个MS Access方法( Application.SysCmd方法 ),而不是Excel方法。

您希望将状态栏文本直接设置为传递给Application.StatusBar对象的string。

  dim msg as string msg = "New Statusbar text" Application.StatusBar = msg Application.StatusBar = "other text" 

最后两行中的任何一行都将设置状态栏文本。 要删除自定义文本,请将其设置为vbNullString

  Application.StatusBar = vbNullString 

在Application.StatusBar属性(Excel)上查看此Excel属性参考。