Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11100 / 13644 ツリー ←次へ | 前へ→

【18064】文字列の列挙型 tak 04/9/14(火) 10:18 質問[未読]
【18070】Re:文字列の列挙型 tak 04/9/14(火) 11:57 質問[未読]
【18072】Re:文字列の列挙型 ichinose 04/9/14(火) 12:05 発言[未読]
【18091】Re:文字列の列挙型 ichinose 04/9/14(火) 21:18 発言[未読]
【18092】Re:文字列の列挙型 Asaki 04/9/14(火) 21:27 発言[未読]
【18109】Re:文字列の列挙型 tak 04/9/15(水) 19:05 質問[未読]

【18064】文字列の列挙型
質問  tak  - 04/9/14(火) 10:18 -

引用なし
パスワード
   まず列挙型enumがあり使用法は以下だと認識しています。

enum colors
blue =1
green =2
black = 3
end enum

function ftest(mycol as colors)
msgbox mycol
end function

'* main proc
sub smain()
call ftest(blue) '← 列挙型を利用しているので入力候補が表示される。
end sub

'* 結果
"1"

やりたいこと。
列挙型の特性(入力候補が表示される状態)を残しつつ、文字列でやり取りしたい。
上記例であれば結果を"blue"としたい。

そんな列挙型ってあるのでしょうか?
enumを使って実現する方法でも結構です。

どなたかご教示ください。

【18070】Re:文字列の列挙型
質問  tak  - 04/9/14(火) 11:57 -

引用なし
パスワード
   自分で書いてて質問が良くわかりませんでしたので補足。
>enum colors
> blue =1
> green =2
> black = 3
>end enum

enum colors
blue =”青"
green ="緑"
black = "黒"
end enum
こうしたいのです!
(enumはlong型なので上記ではエラーとなります・・・・)

お願いしますぅ〜〜。

【18072】Re:文字列の列挙型
発言  ichinose  - 04/9/14(火) 12:05 -

引用なし
パスワード
   ▼tak さん:
こんにちは。

>自分で書いてて質問が良くわかりませんでしたので補足。
>>enum colors
>> blue =1
>> green =2
>> black = 3
>>end enum
>↓
>enum colors
> blue =”青"
> green ="緑"
> black = "黒"
>end enum
>こうしたいのです!
>(enumはlong型なので上記ではエラーとなります・・・・)
これは、

function ftest(mycol as colors)
'msgbox mycol
MsgBox Choose(mycol, "青", "緑", "黒")

end function

この中で判断するしかなさそうですよ

【18091】Re:文字列の列挙型
発言  ichinose  - 04/9/14(火) 21:18 -

引用なし
パスワード
   ▼ichinose さん:
こんばんは。
昼間は、急いでいたので、感じたままを投稿しましたが、

enumステートメントを使用しようとしている方なので

中で判断すると言う事は、自然に考えられる方法だと思います。

逆に疑問に思うのは、「中で判断する」という方法では
何が問題なのか? ということですが・・・。

教えて下さい。


>>自分で書いてて質問が良くわかりませんでしたので補足。
>>>enum colors
>>> blue =1
>>> green =2
>>> black = 3
>>>end enum
>>↓
>>enum colors
>> blue =”青"
>> green ="緑"
>> black = "黒"
>>end enum
>>こうしたいのです!
>>(enumはlong型なので上記ではエラーとなります・・・・)
>これは、
>
>function ftest(mycol as colors)
>'msgbox mycol
>MsgBox Choose(mycol, "青", "緑", "黒")
>
>end function
>
>この中で判断するしかなさそうですよ

【18092】Re:文字列の列挙型
発言  Asaki  - 04/9/14(火) 21:27 -

引用なし
パスワード
   こんばんは。

>入力候補が表示される状態
これが目的なのでしょう。

個人的には、出てこなくても別に不便ではないと思いますが。
引数に渡すときには、目的の要素が決まっているわけですから。

【18109】Re:文字列の列挙型
質問  tak  - 04/9/15(水) 19:05 -

引用なし
パスワード
   皆様ご返信ありがとうございます。

実はExcelVBAで共通関数アドインを作成し、
参照設定をすることで開発者の開発効率を上げる方法を取っているのです。

しかしながら不慣れな開発者は、関数の引数の制限を無視して
使用したりすることがあるので事前に防げないかな?と思いましてご質問したのです。

また現在のモジュール修正(アドイン)を最低限の修正で済ますには
前に質問したことが実現できればと〜ってもうれしいのです。

何かわかりましたらぜひ投稿していただければうれしいです。

11100 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free