私は引数を持たないユーザ定義関数を多く持っています。私はこの記事のCUdfHelper http://www.jkp-ads.com/articles/RegisterUDF00.aspを登録機能として使用します。引数なしでExcel UDFを登録する
登録された関数は、たとえそうでないとしても引数の引数を要求します。
例引数なしで私のfuction:
Public Function getProjects()
getProjects = Utils.execute("getProjects", "getWSEntitiesData")
End Function
MyFunction.c
#include <windows.h>
#define DLL_EXPORT __declspec(dllexport)
DLL_EXPORT void getProjects() {
return;
}
で、私は、これらのパラメータを持つ関数を登録MyFunction.dll
にコンパイルします。
SetGlobalName = Application.ExecuteExcel4Macro("MyFunction.dll", "getProjets", "P", "getProjects", "", 1, "MyFunctionCategory", "", "", "Return list projects")
私は
SetGlobalName = Application.ExecuteExcel4Macro("MyFunction.dll", "getProjets", "P", "getProjects",, 1, "MyFunctionCategory", "", "", "Return list projects")
として登録した場合は関数の引数]ダイアログが全て同じ表示されます。
関数の引数]ダイアログボックスが表示されていない
SetGlobalName = Application.ExecuteExcel4Macro("MyFunction.dll", "getProjets", "P", "getProjects",, 1, "MyFunctionCategory")
として私が登録していないが、説明が使用できなくなった場合。
REGISTER()の引数
-
あなたは
- タイプ文字列
- あなたがExcelのセル に使用する名前を呼び出したい関数のDLL
- 名の
- パスと名前
- 関数ウィザードで使用する引数のリスト
- マクロタイプ(関数の場合は2、コマンドの場合は2) 関数が登録されている場合
- ショートカットテキストに機能を追加するためのウィザードカテゴリが関数ウィザード
11に表示するファイル
私は問題が引数にあると思います。デフォルトでは空の文字列に設定されているため、パラメータを関数に変更する方法がわかりません。正しくウィンドウが表示されないようにパラメータを設定し、説明を格納する方法CUdfHelper
' structure definition
Private Type REGARG
sDllName As String
sDllProc As String
sArgType As String
sFunText As String
**sArgText As String**
iMacType As Integer
vCatName As Variant
sKeyText As String
sHlpPath As String
**sFunHelp As String**
aArgHelp(1 To 20) As String
End Type
で
?
にして下さい。しかし、あなたの質問は全く明らかではありません。また、使用しているコードは一切提供していません。 [良い質問をするにはどうすればよいですか]のヘルプトピック(http://stackoverflow.com/help/how-to-ask)、[最小限で完全で検証可能なサンプルを作成する方法](http ://stackoverflow.com/help/mcve) –
@RonRosenfeldありがとう、私は私の質問を更新します。 – martinixs
Excel 2010とは異なる方法があるようです。http://www.jkp-ads.com/Articles/RegisterUDF01.asp – Slai