Excel 응용 프로그램이 셀 편집 모드인지 알리는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/221984

  •  03-07-2019
  •  | 
  •  

문제

.NET에서 COM Interop을 사용하여 Excel Addin을 작성하고 있습니다. 대화 상자를 팝업하는 명령이 있으며 대화 상자에서 여러 시트의 중고 범위에서 데이터를 수집하는 것과 같은 작업을 수행합니다. 문제는 셀이 편집 모드 인 경우 제가해야 할 호출 중 일부가 예외를 제외한다는 것입니다. Excel이 편집 모드에 있다는 것을 미리 결정하는 방법을 원합니다. 따라서 사용자에게 셀 편집을 먼저 완료하도록 경고 할 수 있습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

이 정보를 제공 해야하는 응용 프로그램이 있습니다. 그러나 실제로는 안정적으로 작동하지 않습니다. 보다 여기 hackaround의 경우.

.NET 코드가 작업을 수행하는 동안 응용 프로그램 설정을보고 싶을 수도 있습니다.

다른 팁

이 기능을 시도하십시오 :

    Function IsInEditMode(ByRef exapp As Excel.Application) As Boolean
        If exapp.Interactive = False Then
            Return False
        Else
            Try
                exapp.Interactive = False
                exapp.Interactive = True

                Return False
            Catch
                Return True
            End Try
        End If
    End Function

어떤 언어를 사용하고 있는지 언급하지 않았습니다. SZL의 기능 VB로 작성되었습니다. C#을 사용하기 때문에 변환해야했습니다. 잘 작동했습니다. 다음은 동등한 C# 코드입니다.

    bool IsInEditMode(ref Microsoft.Office.Interop.Excel.Application exapp)
    {
        if (exapp.Interactive == false)
        {
            return false;
        }
        else
        {
            try
            {
                exapp.Interactive = false;
                exapp.Interactive = true;
                return false;
            }

            catch
            {
                return true;
            }
        }

    }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top