3

.net の COM Interop を使用して Excel アドインを作成しています。ダイアログをポップアップするコマンドがあり、ダイアログから、いくつかのシートの使用範囲からデータを収集するなどの作業を行います。問題は、セルが編集モードの場合、必要な呼び出しの一部で例外がスローされることです。最初にセルの編集を終了するようにユーザーに警告できるように、Excel が編集モードであることを事前に判断する方法が必要です。

何か案は?

4

3 に答える 3

8

この情報を提供することになっている Application.Ready プロパティがありますが、実際には確実に機能しません。ハックアラウンドについては、こちらを参照してください。

また、.net コードの実行中に Application.Interactive=false を設定することも検討してください。

于 2008-10-21T16:16:34.527 に答える
4

この機能を試してください:

    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
于 2014-07-31T11:31:01.843 に答える