1

文字列 (フォームからのユーザー入力) を介して VBA 関数に引数を渡そうとしています。

次のコードは、関数の実行が終了した後、ランタイム エラー 2517 (Access はプロシージャ '.' を見つけることができません) をスローしています。a

Public Function a(Optional al As Boolean, Optional bl As Boolean)
    Debug.Print al
End Function

Public Sub b()
    Application.Run a, "bl:=false, al:=false"
End Sub

関数の正しい構文は次のようになりますApplication.Run "a", "false", "false"が、このアプローチでは名前付き引数を処理できません (これは私にとって必須です)

関数を使用してみましたeval()が、名前付き引数を解決できません。

実行時エラーに関する提案や、(上記のように) 名前付き引数を含む文字列を VBA 関数に渡す方法はありますか?

4

1 に答える 1

0

A は関数です。関数は結果を返します。それをプロシージャにして呼び出して、application.run の使用を忘れてください。

于 2013-07-23T15:46:31.640 に答える