- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
135 :デフォルトの名無しさん[sage]:2015/01/24(土) 03:13:55.66 ID:4KWVQwlI - きっちり作る時って、全部Functionで作るのが流行ってるの?
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
45 :デフォルトの名無しさん[sage]:2015/01/24(土) 03:27:26.88 ID:4KWVQwlI - マクロはそもそもEXCELの時に出来た概念じゃ無いよ。
アセンブラの時代から複数の処理を纏めて記述するという概念で存在する。 今でこそマクロと言えば広域でVBAのことを指すことが多いけど、4.0とか言うならもっと前がある。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
141 :デフォルトの名無しさん[sage]:2015/01/24(土) 09:35:40.00 ID:4KWVQwlI - >>139
なるほどねぇ。昔は俺もそんな作りにしていたことがあったなぁ。 今は役割によって細分化してるから、そもそも落ちないメソッドが結構あるし、 落ちたときに必要な後処理によってOn Error Gotoをメソッドに書くか決めてる。 どのモジュールのどのメソッドで落ちたかはエラー情報モジュールを作っておいて、 全てのメソッドを実行する際に設定したり、実行時にログを出力したりしてる。 どっちがいいとかじゃないけど、全てのメソッドにOn Error Gotoとか付けるとテストケース作ったり、 テストするときに大変じゃない?
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
52 :デフォルトの名無しさん[sage]:2015/01/24(土) 13:51:58.07 ID:4KWVQwlI - >>50
そこは俺も突っ込もうかと思ったけど、どういうものかはともかく、どうしてそういうものがあるのか 説明しろと言われたら面倒臭いから黙ってたw
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
53 :デフォルトの名無しさん[sage]:2015/01/24(土) 14:45:28.64 ID:4KWVQwlI - ついでを言うとサブルーチンってN-BASIC時代に GOSUB RETURN ってのがあったけど、
その名残りでVBAにも有るんだよね。昔のサブルーチンは今の関数やメソッドに該当するから>>50の人の表現は 正しいんだけど、じゃ、今のGOSUBは何に当たるのかと言われると、 関数の中に関数があるような、何とも言えない存在になっている。 ま、考えれば使い道あるんだろうけど、分かり辛くなりそうだし、余り使う機会なさそう。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
55 :デフォルトの名無しさん[sage]:2015/01/24(土) 18:58:43.30 ID:4KWVQwlI - >>54
マクロ命令で纏まったオペランドがぽっこり追加されてアセンブルされるか、 EXCELで操作した内容がぽっこりコードに追加されるかの違いなだけ。 何をもってして分かっていないかということについては確かに分かっていない。 どこ?
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
57 :デフォルトの名無しさん[sage]:2015/01/24(土) 19:30:32.40 ID:4KWVQwlI - ああそうか、何でそう言うものが有るのかに付いてだっけ。
理由として一つは少ないニーモニックで構成されている時、サブルーチンをコールすると その分ジャンプ命令を通ることになるから、処理コストが増えるんだよ。 昔のPCとかは処理速度が遅かったから、速度重視の場合でトータルしたバイト数が少ない場合はマクロを使うことがままあった。 後は俺が使ってた時代には無かった概念みたいだけど、名前ではなくて変数としてアドレスを指定出来るらしい。 同じ処理で変数の内容を格納するアドレスが都度違う場合はそのアドレス指定分バイトが稼げるらしい。 そんなとこだよ。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
58 :デフォルトの名無しさん[sage]:2015/01/24(土) 19:36:54.47 ID:4KWVQwlI - >>56
それを言っちゃうと、「マクロとはなんぞや」と言う話に戻らなければならなくなる。 上ではEXCEL4.0と今のマクロを一緒とみなすならという話をしていたはず。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
60 :デフォルトの名無しさん[sage]:2015/01/24(土) 19:51:24.93 ID:4KWVQwlI - >>59
話が出てきたのは>>44、>>45あたり。 じゃ、EXCEL4.0をひっくるめてマクロって何?
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
62 :デフォルトの名無しさん[sage]:2015/01/24(土) 20:26:56.43 ID:4KWVQwlI - >>61
だよね。だから概念が違うのかと言われると、その定義に寄り切りなんだけど、 その一般的な定義としてはどちらも当てはまるんじゃないかと思うんだ。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
64 :デフォルトの名無しさん[sage]:2015/01/24(土) 20:51:25.65 ID:4KWVQwlI - >>63
そうね、言いたいことは分かる。 でもこれでマクロとVBAってそれぞれどう言う関係なのかだいたい分かったと思うんだ。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
167 :デフォルトの名無しさん[sage]:2015/01/24(土) 23:02:50.95 ID:4KWVQwlI - >>154
ご愁傷さま。普通クラスモジュールが多いのは分かるけど、標準モジュールで30もあるなんて 元々の作りが悪い可能性が相当高いよ。そうじゃなかったらごめん。 多分、リファクタリングするとコード量が1/3以下になる気がする。あくまでカンだけどね。 今後のことを考えると、ごっそり時間を貰ってある程度クラスやインターフェースの知識をもってる人に 全改修して貰った方がいい。長い目で見たら絶対その方が後々の改修が減るよ。 とにかく短い時間でやっつけで片付けるしかないと言うのであれば、せいぜい共通化出来るところを探して共通化し、 変数で設定したり、分岐したりするしかない。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
175 :デフォルトの名無しさん[sage]:2015/01/24(土) 23:31:08.28 ID:4KWVQwlI - はい、ごめんなさい。
向こうのスレに戻ります。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
65 :デフォルトの名無しさん[sage]:2015/01/24(土) 23:37:47.96 ID:4KWVQwlI - 向こうのスレ行ったらVBで書けることすらスレ違いだって怒られちゃったよw
厳しいねぇ。
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
179 :デフォルトの名無しさん[sage]:2015/01/24(土) 23:56:43.86 ID:4KWVQwlI - >>176
仕方ないよ。忘れてたけどこのスレはテンプレが絶対なんでしょ? 俺はあまり気にしてなかったけど、そう言うことなら仕方ない。 それ用のスレあるし。
|