private void runScript(CXLReport rpt, String pName, Params pParams) { if(pName != null) { Object vArg1 = Type.Missing; if(pParams.Count > 0) vArg1 = pParams.GetReportParameter(rpt, pParams[0].Name); Object vArg2 = Type.Missing; if(pParams.Count > 1) vArg2 = pParams.GetReportParameter(rpt, pParams[1].Name); Object vArg3 = Type.Missing; if(pParams.Count > 2) vArg3 = pParams.GetReportParameter(rpt, pParams[2].Name); Object vArg4 = Type.Missing; if(pParams.Count > 3) vArg3 = pParams.GetReportParameter(rpt, pParams[3].Name); Object vArg5 = Type.Missing; if(pParams.Count > 4) vArg5 = pParams.GetReportParameter(rpt, pParams[4].Name); Object vArg6 = Type.Missing; if(pParams.Count > 5) vArg6 = pParams.GetReportParameter(rpt, pParams[5].Name); Object vArg7 = Type.Missing; if(pParams.Count > 6) vArg7 = pParams.GetReportParameter(rpt, pParams[6].Name); Object vArg8 = Type.Missing; if(pParams.Count > 7) vArg8 = pParams.GetReportParameter(rpt, pParams[7].Name); Object vArg9 = Type.Missing; if(pParams.Count > 8) vArg9 = pParams.GetReportParameter(rpt, pParams[8].Name); Object vArg10 = Type.Missing; if(pParams.Count > 9) vArg10 = pParams.GetReportParameter(rpt, pParams[9].Name); Object vArg11 = Type.Missing; if(pParams.Count > 10) vArg11 = pParams.GetReportParameter(rpt, pParams[10].Name); Object vArg12 = Type.Missing; if(pParams.Count > 11) vArg12 = pParams.GetReportParameter(rpt, pParams[11].Name); Object vArg13 = Type.Missing; if(pParams.Count > 12) vArg13 = pParams.GetReportParameter(rpt, pParams[12].Name); Object vArg14 = Type.Missing; if(pParams.Count > 13) vArg14 = pParams.GetReportParameter(rpt, pParams[13].Name); Object vArg15 = Type.Missing; if(pParams.Count > 14) vArg15 = pParams.GetReportParameter(rpt, pParams[14].Name); Object vArg16 = Type.Missing; if(pParams.Count > 15) vArg16 = pParams.GetReportParameter(rpt, pParams[15].Name); Object vArg17 = Type.Missing; if(pParams.Count > 16) vArg17 = pParams.GetReportParameter(rpt, pParams[16].Name); Object vArg18 = Type.Missing; if(pParams.Count > 17) vArg18 = pParams.GetReportParameter(rpt, pParams[17].Name); Object vArg19 = Type.Missing; if(pParams.Count > 18) vArg19 = pParams.GetReportParameter(rpt, pParams[18].Name); Object vArg20 = Type.Missing; if(pParams.Count > 19) vArg20 = pParams.GetReportParameter(rpt, pParams[19].Name); Object vArg21 = Type.Missing; if(pParams.Count > 20) vArg21 = pParams.GetReportParameter(rpt, pParams[20].Name); Object vArg22 = Type.Missing; if(pParams.Count > 21) vArg22 = pParams.GetReportParameter(rpt, pParams[21].Name); Object vArg23 = Type.Missing; if(pParams.Count > 22) vArg23 = pParams.GetReportParameter(rpt, pParams[22].Name); Object vArg24 = Type.Missing; if(pParams.Count > 23) vArg24 = pParams.GetReportParameter(rpt, pParams[23].Name); Object vArg25 = Type.Missing; if(pParams.Count > 24) vArg25 = pParams.GetReportParameter(rpt, pParams[24].Name); Object vArg26 = Type.Missing; if(pParams.Count > 25) vArg26 = pParams.GetReportParameter(rpt, pParams[25].Name); Object vArg27 = Type.Missing; if(pParams.Count > 26) vArg27 = pParams.GetReportParameter(rpt, pParams[26].Name); Object vArg28 = Type.Missing; if(pParams.Count > 27) vArg28 = pParams.GetReportParameter(rpt, pParams[27].Name); Object vArg29 = Type.Missing; if(pParams.Count > 28) vArg29 = pParams.GetReportParameter(rpt, pParams[28].Name); Object vArg30 = Type.Missing; if(pParams.Count > 29) vArg30 = pParams.GetReportParameter(rpt, pParams[29].Name); if(pParams.Count > 30) throw new EBioException("Количество входных параметров макроса не может быть больше 30"); this.FWorkbook.Application.Run(pName, vArg1, vArg2, vArg3, vArg4, vArg5, vArg6, vArg7, vArg8, vArg9, vArg10, vArg11, vArg12, vArg13, vArg14, vArg15, vArg16, vArg17, vArg18, vArg19, vArg20, vArg21, vArg22, vArg23, vArg24, vArg25, vArg26, vArg27, vArg28, vArg29, vArg30); } }