Excel HP ALM连接OTA-导出项目错误

Excel HP ALM连接OTA-导出项目错误,excel,alm,hp-quality-center,hp-alm,vba,Excel,Alm,Hp Quality Center,Hp Alm,Vba,我使用以下命令从HP ALM 12.5导出项目(使用ALM Connectivity-OTA)。目前,它在以下行失败:sa.ExportProject v_domain、v_project、v_fileName 带有错误消息:“运行时错误”-2147220350(80040482):无效的服务器响应[ERR-SEP]。如有任何更正此错误的反馈,将不胜感激 先谢谢你 代码如下: Sub ALM_Backup() Dim v_qcURL, sa, v_username, v_pasword Dim

我使用以下命令从HP ALM 12.5导出项目(使用ALM Connectivity-OTA)。目前,它在以下行失败:sa.ExportProject v_domain、v_project、v_fileName 带有错误消息:“运行时错误”-2147220350(80040482):无效的服务器响应[ERR-SEP]。如有任何更正此错误的反馈,将不胜感激

先谢谢你

代码如下:

Sub ALM_Backup()

Dim v_qcURL, sa, v_username, v_pasword
Dim v_domain, v_project, v_date, v_fileName, bugId, v_summary
Dim v_projectList, v_domainProject, v_domainProjectArray

' The following code is to move the existing files from to source to destination folder

Dim fso
Dim sfol As String
Dim dfol As String

sfol = "C:\ALM Backup"
dfol = "C:\ALM Backup Archive"

Set fso = CreateObject("Scripting.FileSystemObject")

 fso.MoveFile (sfol & "\*.*"), dfol 'Change "\*.*" to "\*.qcp"


v_qcURL = "https://qcurl"
v_projectList = "Domain1:Project1;Domain2:Project2;Domain3:Project3"


v_username = "userid"
v_password = "password"

For Each v_domainProject In Split(v_projectList, ";")

 v_domainProjectArray = Split(v_domainProject, ":")
 v_domain = v_domainProjectArray(0)
 v_project = v_domainProjectArray(1)

 v_year = Year(Now)
 v_month = Month(Now)
 v_day = Day(Now)
 v_hour = Hour(Now)
 v_minute = Minute(Now)
 v_second = Second(Now)

If v_month < 10 Then
  v_month = "0" & v_month
 End If
 If v_day < 10 Then
  v_day = "0" & v_day
 End If
 If v_hour < 10 Then
  v_hour = "0" & v_hour
 End If
 If v_minute < 10 Then
  v_minute = "0" & v_minute
 End If
 If v_second < 10 Then
  v_second = "0" & v_second
  End If


v_date = v_year & v_month & v_day & v_hour & v_minute & v_second

  v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
 v_summary = "For project <" & v_domainProject & "> backup started: " & v_date

 bugId = openDefect(v_summary)

 Set sa = CreateObject("SAClient.SaApi")
 sa.Login v_qcURL, v_username, v_password


sa.SendAllQualifiedNow "IT", "QA_Internal_Projects"
 sa.SendMessageToProjectConnectedUsers v_domain, v_project, "This project is going to be deactivated due to maintenence."
 sa.DisconnectProject v_domain, v_project
 sa.DeactivateProject v_domain, v_project
 sa.ExportProject v_domain, v_project, v_fileName
 sa.ActivateProject v_domain, v_project

 Set fs = CreateObject("Scripting.FileSystemObject")
 Set f = fs.GetFile(v_fileName)

 fixAndCloseDefect bugId, v_fileName & ": " & Round((f.Size / 1024) / 1024, 2) & " MB"
 sa.SendAllQualifiedNow "IT", "QA_Internal_Projects"
Next

sa.Logout

End Sub


Function openDefect(p_summary)
 v_detectionDate = Day(Now) & "." & Month(Now) & "." & Year(Now)
 If Day(Now) < 10 Then
  v_detectionDate = "0" & Day(Now) & "." & Month(Now) & "." & Year(Now)
 End If
 If Month(Now) < 10 Then
  v_detectionDate = Day(Now) & ".0" & Month(Now) & "." & Year(Now)
 End If
 If Month(Now) < 10 And Day(Now) < 10 Then
  v_detectionDate = "0" & Day(Now) & ".0" & Month(Now) & "." & Year(Now)
 End If

Set tdc = CreateObject("TDApiOle80.TDConnection")
 tdc.InitConnectionEx "http://qcurl"
 tdc.Login "userid", "password"
 tdc.Connect "IT", "QA_Internal_Projects"


Set bfact = tdc.BugFactory

 Set mybug = bfact.AddItem(Null)
 mybug.Summary = p_summary
 mybug.Status = "Open"
 mybug.Field("BG_SEVERITY") = "2-Medium"
 mybug.DetectedBy = "userid"
 mybug.Field("BG_DETECTION_DATE") = Date
 mybug.Post
 bugId = mybug.ID
 tdc.Logout
 tdc.Disconnect
 openDefect = bugId
End Function

Function fixAndCloseDefect(p_bugId, p_comment)
 Set tdc = CreateObject("TDApiOle80.TDConnection")
 tdc.InitConnectionEx "https://qcurl"
 tdc.Login "userid", "passsword"
 tdc.Connect "IT", "QA_Internal_Projects"

 Set bfact = tdc.BugFactory
    Set bgfilter = bfact.Filter

    bgfilter.Filter("BG_BUG_ID") = p_bugId
    Set bglist = bgfilter.NewList

 For Each theBug In bglist
  Set bg = bfact.Item(theBug.ID)
  bg.Field("BG_STATUS") = "Closed"
  bg.Field("BG_DEV_COMMENTS") = "Backup completed on <backup_host>: " &      p_comment
  bg.Post
 Next

 tdc.Logout
 tdc.Disconnect
End Function
子ALM_备份()
Dim v_qcURL、sa、v_用户名、v_密码
Dim v_域、v_项目、v_日期、v_文件名、bugId、v_摘要
Dim v_项目列表、v_域项目、v_域项目阵列
'以下代码用于将现有文件从源文件夹移动到目标文件夹
模糊fso
作为字符串的Dim-sfol
Dim-dfol作为字符串
sfol=“C:\ALM备份”
dfol=“C:\ALM备份存档”
设置fso=CreateObject(“Scripting.FileSystemObject”)
fso.MoveFile(sfol&“\*.*”),dfol'将“\*.*”更改为“\*.qcp”
v_qcURL=”https://qcurl"
v_projectList=“域1:Project1;领域2:项目2;领域3:项目3“
v_username=“userid”
v_password=“password”
对于拆分中的每个v_domainProject(v_projectList,“;”)
v_domainProjectArray=Split(v_domainProject,“:”)
v_域=v_域项目数组(0)
v_project=v_domainProjectArray(1)
v_year=年(现在)
v_月=月(现在)
v_day=天(现在)
v_hour=小时(现在)
v_分钟=分钟(现在)
秒=秒(现在)
如果v_月<10,则
v_month=“0”和v_month
如果结束
如果v_日<10,则
v_day=“0”和v_day
如果结束
如果v_小时<10,则
v_hour=“0”和v_hour
如果结束
如果v_分钟<10,则
v_minute=“0”和v_minute
如果结束
如果v_秒<10,则
v_second=“0”和v_second
如果结束
v_日期=v_年、v_月、v_日、v_小时、v_分钟、v_秒
v_fileName=“C:\ALM_Backup”&v_date&“u”&v_project&“.qcp”
v_summary=“对于已开始的项目备份:”&v_日期
bugId=openDefect(v_摘要)
设置sa=CreateObject(“SAClient.SaApi”)
sa.登录v_qcURL、v_用户名、v_密码
sa.SendAllQualifiedNow“IT”、“QA_内部项目”
sa.SendMessageToProjectConnectedUsers v_域,v_项目,“此项目将因维护而停用。”
sa.Disconnect项目v_域,v_项目
sa.E项目v_域,v_项目
sa.ExportProject v_域,v_项目,v_文件名
sa.ActivateProject v_域,v_项目
设置fs=CreateObject(“Scripting.FileSystemObject”)
Set f=fs.GetFile(v_文件名)
fixAndCloseDefect bugId,v_文件名&“:”和Round((f.Size/1024)/1024,2)和“MB”
sa.SendAllQualifiedNow“IT”、“QA_内部项目”
下一个
sa.注销
端接头
函数openDefect(p_摘要)
v_detectionDate=日(现在)&“&”月(现在)&“&”年(现在)
如果天(现在)<10那么
v_detectionDate=“0”&天(现在)&“&”“月(现在)&”“年(现在)
如果结束
如果月份(现在)<10那么
v_detectionDate=日(现在)&“.0”和月(现在)&“.”和年(现在)
如果结束
如果月份(现在)<10天(现在)<10那么
v_detectionDate=“0”和Day(现在)&“.0”和Month(现在)&“.”和Year(现在)
如果结束
设置tdc=CreateObject(“TDApiOle80.TDConnection”)
tdc.InitConnectionEx“http://qcurl"
tdc.登录“用户ID”、“密码”
贸发局.连接“IT”、“QA_内部项目”
设置bfact=tdc.BugFactory
设置mybug=bfact.AddItem(Null)
mybug.Summary=p_Summary
mybug.Status=“打开”
mybug.Field(“BG_严重性”)=“2-中等”
mybug.DetectedBy=“userid”
mybug.Field(“BG\U检测日期”)=日期
mybug.Post
bugId=mybug.ID
tdc.注销
断开
openDefect=bugId
端函数
函数fixAndCloseDefect(p_bugId,p_comment)
设置tdc=CreateObject(“TDApiOle80.TDConnection”)
tdc.InitConnectionEx“https://qcurl"
tdc.登录“用户ID”,“密码剑”
贸发局.连接“IT”、“QA_内部项目”
设置bfact=tdc.BugFactory
设置bgfilter=bfact.Filter
bgfilter.Filter(“BG\u BUG\u ID”)=p\u bugId
设置bglist=bgfilter.NewList
对于bglist中的每个bug
设置bg=bfact.Item(theBug.ID)
bg.字段(“bg_状态”)=“已关闭”
bg.Field(“bg_DEV_COMMENTS”)=“备份已于:”&p_comment完成”
背景邮政
下一个
tdc.注销
断开
端函数

我已经解决了错误。代码现在运行良好,并将ALM项目导出到.qcp文件中

这是如何解决的

我刚刚将v_fileName变量更改为斜杠

以前是:

v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
改为:

v_fileName = "C:\ALM_Backup\" & v_date & "_" & v_project & ".qcp"

发生错误的原因是,在“ALM_备份”之后没有新添加的反斜杠,程序试图将文件保存在C目录中,而不是C:\ALM_备份目录中。

我已解决错误。代码现在运行良好,并将ALM项目导出到.qcp文件中

这是如何解决的

我刚刚将v_fileName变量更改为斜杠

以前是:

v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
改为:

v_fileName = "C:\ALM_Backup\" & v_date & "_" & v_project & ".qcp"
发生错误的原因是,在“ALM_备份”之后没有新添加的反斜杠,程序试图将文件保存在C目录而不是C:\ALM_备份目录中