DXL: quels liens passent un module de lien spécifique

J'ai écrit une fonction DXL qui lit des attributes et des liens sortants à partir d'un module DOORS et l'écrit dans une feuille Excel MS Excel. Ça marche bien.

Maintenant, j'aimerais append ce qui suit à la fonction DXL:

Lorsque j'ouvre un module DOORS et applique un filter -> "Liens", puis je peux dire "passe Linkmodule" et choisissez celui-ci. (J'ai les versions allemandes DOORS, donc peut-être qu'on l'appelle un peu différent)

Ce sont les fonctions que j'ai actuellement:

void WriteAllOutLinksToExcel (ssortingng sModuleName, ssortingng sBookName, ssortingng sSheetName) { OleAutoObj objExcel = oleGetAutoObject("Excel.Application") OleAutoObj objBook OleAutoObj objSheet = null OleAutoArgs oleArgs = create Object oCur Module mCur bool excelVisible ssortingng sTemp = "" ssortingng sResult = "" ssortingng sNum int iRow = 1 int iCount = 0 int iNum Link lref ModName_ targetMod oleGet(objExcel, "Visible", excelVisible); if (!excelVisible) olePut(objExcel,"visible",true); sResult = oleGet(objExcel,"Workbooks", sBookName); clear oleArgs; put(oleArgs, sSheetName); sResult = oleGet(objExcel, "Sheets", oleArgs, objSheet); mCur = edit(sModuleName,false); if(mCur != null) { View v = view("_ABC"); for oCur in mCur do { // Absolute object no.. sTemp = oCur."Absolute Number"; objCell = ExcelGetCell(objSheet, iRow, 1); olePut(objCell,"Value",sTemp); // Object text sTemp = oCur."Object text"; objCell = ExcelGetCell(objSheet, iRow, 2); olePut(objCell,"Value",sTemp); // Links iCount = null; for lref in oCur -> "*" do { targetMod = target lref; iNum = targetAbsNo(lref); sNum = " " iNum " "; if(iCount == 0) { sTemp = fullName(targetMod) sNum; } else { sTemp = sTemp "\n" fullName(targetMod); sTemp = sTemp sNum; } objCell = ExcelGetCell(objSheet, iRow, 3); olePut(objCell,"Value",sTemp); iCount ++; } iRow ++; } } close(mCur); oleCloseAutoObject (objExcel); } 

Je pense à quelque chose comme une instruction if dans la boucle for-me qui dit: "Si linkmodule" abc "est passé, listz les informations" Numéro d'object "et" Texte object "et les liens …

Est-ce possible? J'espère que quelqu'un peut m'aider avec celui-ci?

    Tout ce que vous devriez faire est d'append le paramètre à vos inputs (j'ai ajouté la ssortingng LinkModName ici) puis, au lieu de "*" met LinkModName . Le "*" indique tous les modules de binding, mais vous pouvez le replace par le nom de string de n'importe quel module de lien spécifique que vous souhaitez utiliser. Vous devriez également vous assurer de passer le path complet du module de binding à la fonction.

    Comme: /Project_Name/Folder_Name/Link_Module_Name

     void WriteAllOutLinksToExcel (ssortingng sModuleName, ssortingng sBookName, ssortingng sSheetName, ssortingng LinkModName) { OleAutoObj objExcel = oleGetAutoObject("Excel.Application") OleAutoObj objBook OleAutoObj objSheet = null OleAutoArgs oleArgs = create Object oCur Module mCur bool excelVisible ssortingng sTemp = "" ssortingng sResult = "" ssortingng sNum int iRow = 1 int iCount = 0 int iNum Link lref ModName_ targetMod oleGet(objExcel, "Visible", excelVisible); if (!excelVisible) olePut(objExcel,"visible",true); sResult = oleGet(objExcel,"Workbooks", sBookName); clear oleArgs; put(oleArgs, sSheetName); sResult = oleGet(objExcel, "Sheets", oleArgs, objSheet); mCur = edit(sModuleName,false); if(mCur != null) { View v = view("_ABC"); for oCur in mCur do { // Absolute object no.. sTemp = oCur."Absolute Number"; objCell = ExcelGetCell(objSheet, iRow, 1); olePut(objCell,"Value",sTemp); // Object text sTemp = oCur."Object text"; objCell = ExcelGetCell(objSheet, iRow, 2); olePut(objCell,"Value",sTemp); // Links iCount = null; for lref in oCur -> LinkModName do { targetMod = target lref; iNum = targetAbsNo(lref); sNum = " " iNum " "; if(iCount == 0) { sTemp = fullName(targetMod) sNum; } else { sTemp = sTemp "\n" fullName(targetMod); sTemp = sTemp sNum; } objCell = ExcelGetCell(objSheet, iRow, 3); olePut(objCell,"Value",sTemp); iCount ++; } iRow ++; } } close(mCur); oleCloseAutoObject (objExcel); } 

    J'espère que cela t'aides!