問題
外部からPythonにてVBAの関数を実行したいが、原因不明のエラーが発生する
処理内容としては、チェックボックスのチェックをOnOffするというもの
チェックを手動で押下した時はエラーが発生せずチェックのOnOffができます。
ただし、デバッグモードでブレークポイントを設定し手動でチェックを押すと同様のエラーが発生します。
なぜ外部からの実行時や、ブレークポイント設定時にエラーが発生するかを知りたいです。
解決策が分かればご教授いただければと思います。。
###エラー内容
Excelのポップアップにて以下のエラーが発生します。
ErrNo:13 型が一致しません。
Automationまでご連絡ください。
###コード
該当関数のコードは以下です。
####チェック処理
VBA
1Public Sub SubShpCheckOnOff() 2 On Error GoTo ErrorHandler 3' 4' Application.ScreenUpdating = False 5 6 Dim ObjName As Variant 7 8 'OKがついていたら消去する 9 If stRequest.Range(cnsResult).Text = cnsOK Then 10 stRequest.Range(cnsResult).Value = "" 11 End If 12 13 ObjName = Application.Caller 14 15 If ObjName = "" Then 16 Application.ScreenUpdating = True 17 Exit Sub 18 19 End If 20 21 'レ オブジェクト名か? 22 If Right(ObjName, 2) <> cnsON Then 23 24 ObjName = ObjName & cnsON 25 26 End If 27 28 'レ オブジェクトが非表示⇒表示 表示⇒非表示 29 If stRequest.Shapes(ObjName).Visible = True Then 30 stRequest.Shapes(ObjName).Visible = False 31' FncshpCheckOnOff = cnsOff 32 Else 33 stRequest.Shapes(ObjName).Visible = True 34' FncshpCheckOnOff = cnsOn 35 End If 36 37 38' Application.ScreenUpdating = True 39 40 Exit Sub 41 42ErrorHandler: 43 intMsgReturn = clsMSG.FncDisplaytMsg(stMSG, "0001", "SubShpCheckOnOff", "ErrNo:" & Err.Number & " " & Err.Description) 44 45End Sub
####cnsResult宣言
'*************** セルの名前定義 =依頼票シート= *************** '入力チェック Private Const cnsResult As String = "ResultChk"
####stRequest
stRequest(依頼票)というオブジェクトの中のコード
'受付管理番号が変更された場合は、処理しない。 If Target.Address(ReferenceStyle:=xlR1C1) = stRequest.Range("SRNo").Address(ReferenceStyle:=xlR1C1) Then Exit Sub End If Application.EnableEvents = False ActiveWorkbook.Unprotect cnsPassWord stRequest.Unprotect cnsPassWord
回答2件
あなたの回答
tips
プレビュー