Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开Excel工作簿并在应用程序服务器VM内执行ActiveX命令按钮_Excel_Vbscript_Vba - Fatal编程技术网

打开Excel工作簿并在应用程序服务器VM内执行ActiveX命令按钮

打开Excel工作簿并在应用程序服务器VM内执行ActiveX命令按钮,excel,vbscript,vba,Excel,Vbscript,Vba,我不是一个优秀的程序员(但我想成为一个优秀的程序员),我想知道是否有人有编写VBScript来打开Excel工作簿(在应用服务器VM中)并执行ActiveX命令按钮(例如commandbutton_Click())的经验 我一路打开Excel工作簿,但一直在执行ActiveX命令按钮 Option Explicit 'Dim pc, iMsg, iConf, Flds Dim szHostName Dim objExcel Set objExcel = Wscript.CreateO

我不是一个优秀的程序员(但我想成为一个优秀的程序员),我想知道是否有人有编写VBScript来打开Excel工作簿(在应用服务器VM中)并执行ActiveX命令按钮(例如commandbutton_Click())的经验

我一路打开Excel工作簿,但一直在执行ActiveX命令按钮

Option Explicit 



'Dim pc, iMsg, iConf, Flds

Dim szHostName
Dim objExcel

Set objExcel = Wscript.CreateObject("Wscript.Shell")


'get the computer name
szHostName = objExcel.ExpandEnvironmentStrings( "%COMPUTERNAME%" )  

Call Test1()
Call SendAlertEmail(szHostName, "john.doe@corp.com", "test alert <no-reply@corp.com","Test E-mail Subject", "Test e-mail body")

objExcel.ActiveWorkbook.Close
objExcel.DisplayAlerts = False
objExcel.Application.Quit

    'objExcel.DisplayAlerts = False

WScript.Echo "Finished."
WScript.Quit



'====================================================================================================


Public Sub Test1()


Dim objWorkbook

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("E:\testfolder\test.xlsm", 0, False)

objExcel.Application.Visible = True
objExcel.Application.Run "test.xlsm!Summary.cmdCycle_Click()"




End Sub
'/////////////////////////////////////////////




' --------------------------------------------------------------------------------- SendAlertEmail routine--------------------------------Start
Public Sub SendAlertEmail(ByVal servername, ByVal tostr, ByVal fromstr, ByVal subjectstr, ByVal bodystr)
    Dim pc, iMsg, iConf, Flds
Set pc = CreateObject("Wscript.Network")
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

    Const schema = "http://schemas.microsoft.com/cdo/configuration/"
    Dim emailBody

    Flds.Item(schema & "sendusing") = 2
    Flds.Item(schema & "smtpserver") = "relay.exelonds.com"
    Flds.Item(schema & "smtpserverport") = 25
    Flds.Item(schema & "smtpauthenticate") = 0
    Flds.Item(schema & "smtpusessl") = 0
    Flds.Update()

    With iMsg
        .To = tostr
        .From = fromstr
        .Subject = servername & ":" & subjectstr

        emailBody = bodystr

        .HTMLBody = emailBody
        .Sender = "Morning Report <noreply@corp.com>"
        .Organization = "ABC Corporation"
        .ReplyTo = "noreply@corp.com"

        .Configuration = iConf

        .Send()
    End With

    ' Release Interfaces
    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing

End Sub
选项显式
“Dim pc、iMsg、iConf、Flds
Dim-szHostName
暗盒
Set objExcel=Wscript.CreateObject(“Wscript.Shell”)
'获取计算机名
szHostName=objExcel.ExpandEnvironmentStrings(“%COMPUTERNAME%”)
调用Test1()

打电话给SendAlertEmail(szHostName),约翰。doe@corp.com“,”测试警报我认为这应该有效:

Dim sheetName$
sheetName = "Name of your worksheet"  '# MODIFY THIS LINE
xlBook.Application.run "'" & xlBook.Name & "'!" & sheetName & ".cmdCycle_Click"

vbscript!=vba。是哪一个?我收到一条错误消息,上面写着:“无法运行宏。”"Morning Reprt.xlsm'!Summary.cmdCycle_Click'。该宏可能在此工作簿中不可用,或者可能已禁用所有宏。当我在VM中正常打开工作簿并执行命令按钮时,它工作正常,因此我知道该宏存在,但脚本认为不存在。仅供参考,我正在用VBScript,n编写此代码在我的工作簿中单击ActiveX命令按钮宏。