プロが教えるわが家の防犯対策術!

例えば
dim a as String
a="dim b as Long"
という風にしてみて
aの値に入ってるやつを実行(?)するようなことができますか?

つまり、ここでいうなら
aに"dim b as Long"をいれて
なんらかの処理を行って
変数bを作成することはできますか?

A 回答 (3件)

どんな機能を実現したいのかよくわかりませんが、例えば、文字列で指定した


内容をファイルに出力してコンパイルし、実行ファイルを動的に生成すること
ならできなくはありません。
(実行環境にVBのIDEが必要になりますが)

あまりVB向きの内容ではないと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

..、なんか難しそうですね
なんとかがんばってみます

お礼日時:2003/02/09 23:17

VBでは無理でしょう。

色々な言語がありますが。「数」と言うことは考えられないので、文字列になりますが、文字列を定義して、文字列で意図している(多分プログラムソース)内容を実行して欲しいと思うことは、私も時々夢想します。これと一脈つうずるように思います。
その中にも(1)インタプリタ・コンパイラ側への指示する内容のもの(2)オブジェクト・プログラムの内容を指示するものが考えられるが、本件は(1)なんでしょう。
一脈通ずるものに条件付きコンパイルがあると思う。
しかしこれは実行途中時の指示ではない。
(2)に関して、その部分だけ、実行時のある時点で、プログラムソースとしてインタープリタやコンパイラが働いて、機械語に変えて、実行権をそこに移し、終われば実行権を奪いたいと言うことは、特別にそのように言語仕様として、設計し実現せねばならないと思います。そんなことが出きる設計にするのは、複雑になるので避けるか一部分に留めるでしょう。またウイルスのことを考えると、非常に危険性を孕んでいると思います。
いま、たまたまSQL文のことを考えていたのですが、このSQL文などは、世の中に流布した機能なので、文字列でありながら、実行中にSQL文文字列を入力すると実行してくれる仕組みは作られていると思う。
結論として、自分でプログラムの中に分岐出来る、区別するルーチンを2つ作って、決定要因を自分のプログラムで見て判別し、適当なルーチンへ飛ばすより他ないでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
かなり色々と書いてくださって、本当にありがとうございます

そうですか...、自分でそういう仕組みのやつを作らなくてはならないのですか..
わかりました、なんとかがんばってみます

お礼日時:2003/02/09 23:15

できない、と思います。



変数宣言チェック(OptionExplicit)を行なってたらプロシージャに入る時点でチェックされてますから。
(ステップ実行時には追加で宣言できるんですけどね。)

なぜ、後からの変数宣言が必要なんでしょうか?
Variant型ではだめなんですか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます
できませんか...、しかたがありませんね

>なぜ、後からの変数宣言が必要なんでしょうか?
HSPの変数の宣言の仕組みがしりたかったんです
だからこのような風にできるかな~、と思ってみたんですが...

お礼日時:2003/02/09 23:13

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