使用Jenkins安排Excel宏

时间:2016-06-01 09:08:35

标签: excel-vba jenkins vba excel

编写了一个调用Excel宏的vbs文件。但是,当使用Jenkins调度此vbs文件时,虽然控制台显示成功消息,但不会执行该宏。

请使用Jenkins建议是否有其他方法来安排Excel宏。 vbs文件代码是这样的:

Option Explicit

On Error Resume Next

ExcelMacroExample

Sub ExcelMacroExample() 

  Dim xlApp 
  Dim xlBook 

  Set xlApp = CreateObject("Excel.Application") 
  Set xlBook = xlApp.Workbooks.Open("C:\Demo\Migration\Compare_Tool_For_Demo.xlsm", 0, True) 
  xlApp.Application.Run "Compare_Tool_For_Demo.xlsm!OpenSupport2Tool"
  xlApp.Quit 

  Set xlBook = Nothing 
  Set xlApp = Nothing 

End Sub 

Jenkins构建命令: - call "C:\Demo\Migration\Start_Report_Tool_For_Demo.bat

手动执行vbs文件时,宏操作会完美执行。但是无论何时从Jenkins执行它都不起作用。(控制台显示" SUCCESS"然而)

2 个答案:

答案 0 :(得分:0)

这听起来像是一个许可问题。我不知道Jenkins' Jenkins'是的,但我认为你应该确保它具有管理员权限。

答案 1 :(得分:0)

找到解决方案。

写一个包含内容的powershell文件:

**

$macroBook = ".\Excel.xlsm"
$procedureName = "Macro"
$macroBookFullPath = (ls $macroBook).FullName
$macroProcName = (ls $macroBook).Name + "!" + $procedureName

$excelApp = New-Object -com "Excel.Application"

try {

    $excelApp.DisplayAlerts = $false
    $excelApp.Workbooks.Open($macroBookFullPath)
    $excelApp.Run($macroProcName)
} finally {

    $excelApp.DisplayAlerts = $false
    $excelApp.Quit()
}

**

你需要Jenkins的powershell插件。按照步骤 1.添加构建步骤" Windows Powershell" 2.编写此命令 - " mkdir C:\ Windows \ system32 \ config \ systemprofile \ Desktop" 3.使用" ./"执行powershell文件(.ps1);作为powershell步骤(" ./ Powershell_Test.ps1") 然后你快乐的方式。