Excel 응용 프로그램이 셀 편집 모드인지 알리는 방법은 무엇입니까?
-
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;
}
}
}
제휴하지 않습니다 StackOverflow