【问题标题】:Add a folder in HP ALM QC 11.0 Releases Tab Using Excel VBA使用 Excel VBA 在 HP ALM QC 11.0 版本选项卡中添加文件夹
【发布时间】:2014-11-25 07:57:38
【问题描述】:

我一直在尝试在 QC Releases 文件夹中创建文件夹结构。我可以遍历现有数量的文件夹,但找不到任何可以添加我选择的新文件夹的东西。这是我编写的子例程,我计划通过以“Releases\XYZ\ABC”格式发送函数的路径来调用它。首先,此代码将忽略路径中的 Releases 关键字。然后我会找到文件夹 XYZ,如果没有找到它应该创建它。有人可以帮我添加添加节点的代码吗?然后我可以继续进一步编码。这是我在这里的第一个问题,所以请忽略我的错误,如果有的话。

我试过 AddNode 但没有用。

下面提到的是我到目前为止写的代码:

Public Sub releasePath(strPath As String)

Dim arr, bflag
Set folderFactory = tdc.releaseFolderFactory
Set folderFactoryNode = folderFactory.Filter
Set releaselist = folderFactoryNode.newList()

arr = Split(strPath, "\")
bflag = False


relesefoldercount = releaselist.Count
For i = 1 To relesefoldercount
    Set releseitem = releaselist.Item(i)
    If releaselist.Item(i).Name = arr(1) Then            
        bflag = True
    End If

Next
If bflag = False Then
    'create folder xyz        
End

结束子

【问题讨论】:

  • 在一个 OTA API 文档示例中,要创建一个新的 ReleaseFolder,他们首先从要创建的文件夹的父级获取 ReleaseFolderFactory 对象,在该工厂上调用 AddItem(Null),设置 ReleaseFolder 的名称并张贴。当您调用 AddItem 时,究竟是什么失败了?您在哪个对象上调用 AddItem?
  • 我尝试在 releaselist 对象上添加一个项目。并且报错是对象不支持这个功能。
  • 我尝试按原样使用 OTA API 参考中给出的代码。但我收到一个错误“运行时错误 -2147220427(80040435)”,上面写着“您的质量中心会话已断开。请联系您的系统管理员以获取更多信息。”此错误发生在“relFolder.Post”行之后。当我使用 tdc.Connected 检查时,它返回 True,这意味着会话没有断开。

标签: excel vba directory add hp-quality-center


【解决方案1】:

首先,我认为您的变量名称相当混乱。您的 folderFactoryNode 是一个 TDFilter 对象,而您的 releaselist 实际上是一个 ReleaseFolder 对象列表,而不是一个 Releases 列表。要创建新的 ReleaseFolder,您需要调用 ReleaseFolderFactory 的 AddItem。在您的情况下,要创建第一级文件夹,您需要类似的东西(未经测试,直接来自 OTA API 文档):

' Create a Release folder.
Set oReleaseFolderFactory = tdc.ReleaseFolderFactory
Set rootReleaseFolder = oReleaseFolderFactory.Root
Set oReleaseFolderFactory = rootReleaseFolder.ReleaseFolderFactory
Set relFolder = oReleaseFolderFactory.AddItem(Null)
relFolder.Name = "XYZ"
relFolder.Post

对于更深层次(示例中的 ABC 文件夹),您可以使用 XYZ 文件夹的 ReleaseFolderFactory 的 AddItem。

【讨论】:

  • 你能参考我上面关于 Post 方法的评论吗?感谢您到现在为止的所有帮助。
  • 我也试过使用你的代码。它给出了同样的错误。我使用的登录 ID 确实可以在那里创建一个文件夹。因此,即使这也被排除为可能的问题。
  • 谢谢。该代码有效。我关闭了excel并确保后台没有实例。后来效果很好。感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 2013-05-29
  • 1970-01-01
  • 2016-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多