- PR -

EXCELの関数一覧について

1
投稿者投稿内容
gerbera
会議室デビュー日: 2006/07/08
投稿数: 3
投稿日時: 2008-07-15 22:37
初めて投稿します。

現在開発しているEXCEL関係のアプリケーションに、ユーザー向けに関数一覧を簡易表示したいと考えています。
表示項目としては、[関数の挿入]ダイアログで表示される関数情報(関数名、書式、詳細)が必須です。
ユーザーがあらゆるバージョン使用する可能性を考慮して、プログラムで取得表示しようと思っていたのですが、手段が全くわからない状況です。
EXCEL本体から取得するには全く手段がわからず、ヘルプから取得しようとすると(未確認ですが)バージョンによってヘルプ構造の差分があると思われ・・・。

何か良い方法はないでしょうか?
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-15 22:56
Excel.WorksheetFunction Class の member を列挙すればいけると思います。

VB6.0 が install されている環境であれば tlbinfo32.dll を使って member を列挙できますが、配布するとなると別の方法を利用する必要がありますね。

たしか、.NET Framework の class で COM の member を列挙する library があったような。名前は忘れましたが、VBA からでも呼び出し可能だと記憶しているのでそれを使うといいかもしれません。
_________________
gerbera
会議室デビュー日: 2006/07/08
投稿数: 3
投稿日時: 2008-07-17 22:00
返信ありがとうございます。

WorksheetFunction はVBAオブジェクトブラウザで確認していたのですが、[関数の挿入]ダイアログで表示されるものより少ないので、手段から除外していました。
実際にメンバを取得して試したのですが、やはり同じように少なくて Date関数 などは取得できませんでした。
また、メンバは取得できるのですが、書式や詳細はどのようにして取得すればいいのかわからない状況です。

[関数の挿入]ダイアログで表示されるものを全て(できれば表示されない関数(注1)も含めた使用できる関数全て)取得したいのですが、何か手段をご存じないでしょうか?


(注1)[XL2002]ヘルプおよび関数ウィザードに表示されない関数について
http://support.microsoft.com/kb/418360/ja
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2008-07-22 19:20
だと、help からゴリゴリ読み込ませるしかないと思いますよ。
Version 依存は激しいですし、そんなことするくらいなら自分で table 持たせるほうがよいと思ったり。
_________________
gerbera
会議室デビュー日: 2006/07/08
投稿数: 3
投稿日時: 2008-07-23 23:02
返信ありがとうございます。

やっぱりそうなっちゃいますかねえ・・・。
方法が見つからないので、とりあえず table 作成する方向に向かっています。
バージョンがらみは悩ましいです。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)