アプリ版:「スタンプのみでお礼する」機能のリリースについて

たま-になのですが、
アクセスで
If WorksheetFunction.Or(ctl.ControlType = acComboBox, ctl.ControlType = acTextBox) Then
の部分で、

実行時エラー -2147417856
オートメーションエラーです。
システムコールに失敗しました

というエラーが発生します。

WorksheetFunction.Orをアクセスで使って言えるので、エクセルに参照設定をしています。

このエラーは発生する時としない時があるので、再現できないし、原因がわかりません。
「 システムコールに失敗しました」どういう意味のエラーなのでしょうか?

「システムコールに失敗しました」の質問画像

A 回答 (1件)

エラーの原因と回避策については分かりませぬ。


Access か Excel の機嫌が悪かった・・・?

なにゆえに
>If WorksheetFunction.Or(ctl.ControlType = acComboBox, ctl.ControlType = acTextBox) Then
しているのでしょうか。
If ctl.ControlType = acComboBox or ctl.ControlType = acTextBox then
で十分では?

Sub b()
Dim XL As Excel.Application
Set XL = New Excel.Application
If XL.WorksheetFunction.Or(Ctl.ControlType = 111, Ctl.ControlType = 109) Then
後略~
とAccessの定数ではなくて実数を渡せばエラーが出なくなるかも知れないですが未検証です。
    • good
    • 0
この回答へのお礼

機嫌が悪かったのですか・・・
普段からかわいがってるのに・・・

なぜこうしてるかというと、orでまとめたほうがスッキリ見えるかな?と思ったからです。

Setでオブジェクトにエクセルを格納するのもアリですね。

お礼日時:2013/05/13 19:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!