none
FormatCondtions.Add 오류 RRS feed

  • 질문

  • 안녕하세요.

    해결하기 어려운 문제를 만나 매우 고생하고 있습니다.

    WindowsXP 에서 Windows7 으로 이전하면서 문제가 발생하고 있습니다.

    기존 WindowsXP/Office2003 설치된 상태에서 VisualStudio2008 개발된 프로그램에서는 문제가 없습니다.

    새로 옮겨가는 OS Windows7 32비트 버전 사용자와,  64비트 버전을 사용하는 사용자가 공존합니다.

    사용자 피씨에는 Office 2007 버전을 설치했지만, 개발된 프로그램에서는 Office 2003 이용하던 그대로 사용하려고 합니다.

    문제가 발생한 내용은 다음과 같습니다.

    ----------------------------------------------------

    System.MissingMethodException() 처리되지 않았습니다.

      Message="메서드를 찾을 없습니다. 'Microsoft.Office.Interop.Excel.FormatCondition Microsoft.Office.Interop.Excel.FormatConditions.Add(Microsoft.Office.Interop.Excel.XlFormatConditionType, System.Object, System.Object, System.Object)'"

    ----------------------------------------------------

    문제가 발생하는 부분의 소스는 다음과 같습니다.

    ----------------------------------------------------

    sCellName = sColSrc & sRowDst & ":" & sColDst & sRowDst

    If oWorksheet.Range(sCellName).FormatConditions.Count > 0 Then

        sFormula1 = "=B79-B80-B81-COUNTA(B79,B80,B81)+COUNTIF(B79,0)-COUNTIF(B80,0)-COUNTIF(B81,0)"

        sFormula2 = "=B79-B80-B81+COUNTA(B79,B80,B81)-COUNTIF(B79,0)+COUNTIF(B80,0)+COUNTIF(B81,0)"

        oWorksheet.Range(sCellName).FormatConditions.Delete()

        oWorksheet.Range(sCellName).FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlNotBetween, sFormula1, sFormula2)

        oWorksheet.Range(sCellName).FormatConditions(1).Interior.ColorIndex = 3

    End If

    ----------------------------------------------------

    위의 소스에서 처리하는 내용을 설명 드리자면,

    sCellName 이라는 셀에 조건부서식이 있는 경우에, sFormula1 sFormula2 조건부 서식에 해당하는 식을 편집하고, 기존 조건부 서식은 삭제한 , 다시 sFormula1 sFormula2   특정 셀의 조건부 서식을 추가합니다.

    그런데, 위의 빨간색으로 표시한 부분이 오류가 발생하고 있어서 정상적인 처리가 안되고 있습니다.

    소스를 편집할때는 FormatConditions.Add 아무 문제 없는 듯이 메소드가 표시되고, 파라메타도 차례 차례 표시됩니다.

    문제를 어떻게 해결할 있는지 알고 싶습니다.

    도와주십시오.


    • 편집됨 hyunho.lee 2014년 6월 5일 목요일 오전 9:31
    2014년 6월 5일 목요일 오전 9:30

답변

  • Excel Interop library  버전을 변경해 보시기 바랍니다.

    아래 같은 이슈에 대한 답변 확인 부탁드립니다.

    Range.FormatConditions.Add throws MissingMethodException

    제시해 드린 답변이 도움이 되었기를 바랍니다.
       
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다

    2014년 6월 9일 월요일 오전 5:56
    중재자