为什么我们需要excel中的替换参数?
在designer中,我们在网格视图中看到替换参数。
但是,当我们必须导出它时,我们将只有XML和ATL作为选项。这些不是供人类理解的直接信息。
如果有更广泛的受众想要查看替代参数,而不是让每个人都登录到designer,您可以通过电子邮件将excel文件中的替代参数发送给他们
方法背后的想法
计划是创建一个实用工具来导出将参数替换为存储库中的CSV文件。VB脚本是我们能想到的最简单的方法,因为我们使用的是Windows机器。存储库数据库托管在SQL server上。
想法是从用户处读取存储库数据库凭据。通过al将替换参数导出到XML文件_引擎.exe,什么大数据,然后将其转换为CSV文件。
用逗号分隔的值问题
VB脚本代码:
'只需复制粘贴在记事本中的代码,大数据 数据分析,用vbs作为扩展名保存,双击
'或从附件下载。
选项显式
Dim SQLHost,SQLDB,怎样做淘客,SQLUN,SQLPWD
SQLHost=InputBox("输入目标SQL主机,端口:","将SP导出到制表符分隔的文本文件","")
SQLDB=InputBox("输入目标SQL数据库:","将SP导出到制表符分隔的文本文件","")
SQLUN=InputBox("输入目标SQL用户名:","将SP导出到制表符分隔的文本文件","")
SQLPWD=InputBox("输入目标SQL密码:","将SP导出到制表符分隔的文本文件","")
生成\u和\u执行\u命令
SP \u XML \u到\u CSV"SP.xml文件", "SP.txt文件"
Msgbox"打开生成的制表符分隔文本文件SP.txt文件在Excel中,"&vbCrLf&"如果需要,将其格式化为带标题的表格","vbInformation,"将SP导出到制表符分隔的文本文件"
函数构建和执行命令()
Dim命令,objShell,filesys
set filesys=CreateObject("脚本.FileSystemObject""
设置对象外壳=WScript.CreateObject("WScript.shell")
命令="%LINK\u DIR%\bin\al_引擎.exe""-NMicrosoft\u SQL\u Server-passphraseATL-z""&"SP"_错误.log""-U"&SQLUN"&"-P"&SQLPWD&"-S"&SQLHost&"-Q"&SQLDB&"-XX@"&"v"&"@"&"SP.xml文件"
导出执行命令"%LINK\u DIR%\log\","SP",命令
"objShell.run运行"%LINK\u DIR%\log\"&"SP"&".bat",0,真
objShell.run运行"蝙蝠",云服务器价位,0,真
filesys.DeleteFile文件"蝙蝠", 正确
如果filesys.FileExists存在("SP_错误.log)然后
msgbox("从repo导出SP时遇到问题")
build\u and\u execute\u command=-1
End if
Set filesys=Nothing
End Function
Function export\u execution\u command(FilePath,FileName,FileContent)
Dim objFSO,objFile,outFile
Set objFSO=CreateObject("脚本.FileSystemObject""
’outFile=FilePath&FileName&".bat"
outFile=FileName&".bat"
Set objFile=objFSO.CreateTextFile文件(outFile,True)
objFile.Write文件文件内容和vbCrLf
objFile.关闭
export_execution_command=0
End Function
Function SP_XML_to_CSV(xmlFile,csvFile)
Dim ConfigList,subparamllist,objXMLDoc,Root,Config,SubParam,Matrix(1000,50)
Dim i,j,iMax,jMax,Text,sessionFSO,OutFile,objShell
Set sessionFSO=CreateObject("脚本.FileSystemObject""
设置输出文件=sessionFSO.CreateTextFile文件(CSV文件,1)
设置对象外壳=WScript.CreateObject("WScript.shell""
设置objXMLDoc=CreateObject(""微软.XMLDOM")
objXMLDoc.async异步=假
objXMLDoc.load文件(xmlFile)
设置配置列表=objXMLDoc.documentElement.getElementsByTagName("SVConfiguration")
i=1
矩阵(0,0)="替换参数"
对于ConfigList中的每个配置
Set SubParamList=Config.getElementsByTagName("SubVar")
j=1
矩阵(0,i)=配置.getAttribute("名称")
对于子参数列表中的每个子参数
如果i=1,则矩阵(j,0)=子参数.getAttribute("名称")
矩阵(j,i) ="="""&子参数.text&"""
j=j+1
下一个
i=i+1
下一个
iMax=i
jMax=j
对于i=0到jMax-1
Text=""
对于j=0到iMax-1
Text=Text&Matrix(i,淘客大玩家,j)&vbTab
下一个
OutFile.WriteLine文件正文
下一页
出口。关闭
结束功能
使用截图:
在Excel中,打开文本文件:
选择所有的数据单元并格式化成表格
最后,数据如下:
如果您不能访问存储库数据库或Jobserver,您可以从designer手动将替换参数导出到XML文件,并从给定的VB脚本中使用SP\u XML \u to \u CSV函数。