我一直在尝试在QC Releases文件夹中创建文件夹结构。我可以遍历现有的文件夹数量,但我找不到任何添加我选择的新文件夹的内容。这是我编写的Sub Routine,我打算通过以“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
End Sub
答案 0 :(得分:1)
首先,我认为您的变量名称非常混乱。您的folderFactoryNode
是一个TDFilter对象,releaselist
实际上是ReleaseFolder对象的列表,而不是Release的列表。要创建新的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。