Excel VBA 質問スレ Part61

■ このスレッドは過去ログ倉庫に格納されています
2019/04/25(木) 23:41:03.61ID:rni/4bMj0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part60
https://mevius.5ch.net/test/read.cgi/tech/1552736349/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/06/12(水) 12:29:02.31ID:LcFRFSVAM
>>696
> お前のようにスキルの無い奴では無い
他人が言うならまだしも自分で言うとか恥ずかしくないのかな?
まあまともな羞恥心あったらアホレスを延々しないかw
2019/06/12(水) 12:37:23.46ID:QtpMWUcXM
そこはAccessに任せよう
2019/06/12(水) 12:48:44.93ID:y0vSE/xP0
>>712
お前は>>706が理解出来るか?
長いこと見てるがここで他で見たような高度な話に出会ったことがないわ。
2019/06/12(水) 13:07:28.60ID:iR6eT4OpM
変数にマシン語を入れるって何だろうね
2019/06/12(水) 13:08:42.05ID:Y7smUoHJ0
>>714
そりゃvbaで高度な事をする理由がないから当たり前だろう
VBAは事務や営業がルーチンワークをちゃちゃっと楽するための言語だよ
2019/06/12(水) 13:27:23.99ID:JxmhteBD0
上の方でリッジレーサーとか書いてたけど、そういう高度(?)なこともできなくはないで
昔、excelのフォーム上にdirectxで3Dオブジェクトとか動かしてたから

ラッパー作ってやれば相当いろんなことできる
(参照設定は含まないとか狭い了見のやつは知らん)
2019/06/12(水) 13:40:48.03ID:7TWmWXJkM
Win32API呼べるんだからそら何でもできる事はできるでしょ
2019/06/12(水) 14:18:22.69ID:y0vSE/xP0
>>716
理由のある場合もあるし、実際やってる所もある。

>>717
今はDirectXがほぼ扱えなくなってるから難しいけどね。

>>715
これが分かり易い例かな(VBだけど同じようなやり方はVBAでもできる)。

http://nienie.com/~masapico/doc_FuncPtr.html
720デフォルトの名無しさん (ワッチョイ 5d8e-KhuK)
垢版 |
2019/06/12(水) 16:03:58.98ID:c437ERJc0
>>694
Rubyはいらない
早く消えろ
2019/06/12(水) 16:07:26.54ID:Y7smUoHJ0
>>694
× rubyは互換性が高い
○ rubyは進化が高い
>>640でも言ってる通り、rubyは進化をサボりまくって完全に置いていかれた言語
端的に言うとゴミだ
2019/06/12(水) 16:07:42.04ID:Y7smUoHJ0
進化が高いってなんだ、
進化が無いの間違いだ
2019/06/12(水) 16:17:26.91ID:FtPZjeXMM
プログラム板にはところ構わずrubyネタを書き込むキチガイが常駐してます。
ご注意を。
2019/06/12(水) 16:42:21.94ID:Z0CNlc5QM
会社で使ってるpcをwin10アップグレードwin7機をwin10プリインストール64bit機にしてもらったらDAO3.6の参照設定がされてる会社共有マクロファイルが動かなくなっててワロタ
参照設定をAccsess database engineに切り替えてあげて動くようにしてあげたら賞賛されてワロタ
古い技術・pc使ってんなぁ…と思った
2019/06/12(水) 17:21:01.09ID:hdFW8H+f0
>>710
クラスモジュールで
Private WithEvents Obj As MSForms.TextBox
と宣言しておいて
form.Controls.Add("Forms.TextBox.1",str)
で生成してObjにSet
Private Sub Obj_Enter()でObjへのフォーカス移動を取りたいが取れない

labelのonClickとかは同じ方法でできてるんですが…
2019/06/12(水) 18:35:05.76ID:zhdH+o61d
702です。色々とありがとうございます。704さんの仰る通りでございます。707さんのではできませんでしたが、大いに参考にさせていただき無事できました。助かりました!
727デフォルトの名無しさん (スッップ Sd2f-mek+)
垢版 |
2019/06/12(水) 18:41:55.19ID:yvAeGy9Kd
使用人数の多い人気の言語なんて価値が低い
使える奴が溢れてるから君の代わりは沢山いるから明日から来なくて良いよ
2019/06/12(水) 18:46:25.13ID:Y7smUoHJ0
>>727
>使用人数の多い人気の言語なんて価値が低い
人件費と言語の価値をごっちゃにしすぎ

使用人数の多い人気の言語
>だからこそ価値がある
だよ
2019/06/12(水) 19:04:59.78ID:LcFRFSVAM
>>714
どこが高度なのかさっぱり
変数にコード入れるとかむしろ昔の方がやってた(って言うかやらざるを得なかった)
Peek, Pokeとかあったしな
今のOSはチェックが厳しくなったからそのあたりは面倒になってるし低能がマウント取りたいだけにしか役立たんよw
2019/06/12(水) 19:48:41.13ID:q1mOkjbM0
>>725
Enterイベントに入りすらしないということ?
2019/06/12(水) 19:55:38.35ID:q1mOkjbM0
Enterイベント無いんじゃなかろか
2019/06/12(水) 19:59:08.50ID:y0vSE/xP0
>>725
そいつはマジメにやるとすればとっても高度な奴だね。
OLE/COM Viewer使って情報取得して、ゴニョゴニョ...。

工夫で乗りきる方法も有るようだけど。
2019/06/12(水) 20:03:50.73ID:y0vSE/xP0
>>729
Peek、Poke使ってた時代はそれが簡単に出来た。
今は面倒になってるから高度なんだろ。
2019/06/12(水) 20:12:08.61ID:y0vSE/xP0
>>729
使わないとプログラムの構成が汚くなる。
で、これを知らなかった頃にクラスにWndProc置けないの何とかならんかと思ったことがある。
同じように考える人がいたからこれが実践されたわけ。

つまり、マウント取りたいだけにしか役立た無いなんて想像するようなアホなレベルの人では理解するのは力不足だよ。
2019/06/12(水) 20:23:27.14ID:IcFPwb1s0
>>719
GetProcAddress って何だっけ?
自分は AddressOf は大量に使ってるけどこいつは知らないな
2019/06/12(水) 20:39:42.27ID:9U73TXZN0
>>735
Win32API
2019/06/12(水) 21:02:56.75ID:7TWmWXJkM
マウスを砂時計にしたいがためにWin32呼んでるアホマクロならこの間見つけたな
738デフォルトの名無しさん (ワッチョイ 895f-b08L)
垢版 |
2019/06/12(水) 21:03:09.68ID:WUwNpP1f0
新垣結衣 AVデビュー
https://www.xvideos.com/video48369883/_ai_
2019/06/12(水) 21:04:02.93ID:IcFPwb1s0
>>736
関数名を文字列で渡すのか...
関わりたくないな
2019/06/12(水) 22:23:55.21ID:m7QCu7Zs0
Excelで出来ることを屁理屈で言ったら、究極は何だろうな。
VBSでも、IE画面にタグを書き込めば、GUIを作れる!みたいなの。
2019/06/12(水) 22:46:10.03ID:6508qYyda
VBAでJITコンパイラを作れば何でもできる
742デフォルトの名無しさん (ワッチョイ 0b90-to8s)
垢版 |
2019/06/12(水) 23:03:51.94ID:LF95RN4F0
言葉尻を捉えて揚げ足取り合ってて楽しんでるようにしか見えない
2019/06/12(水) 23:21:22.24ID:eCiQ25Tx0
そうだな。文字列データあればなんでもできるくらい愚か。
2019/06/12(水) 23:57:24.40ID:y0vSE/xP0
VBAで必要にならない処理なら単なるビックリ処理で終わりだろうな。
それじゃ意味が無い。
2019/06/13(木) 00:36:30.48ID:scxOg7Fk0
シートやブックの指定を毎回名前で指定してるコードをよく見るけど、処理遅くなるし保守性悪いしでいいことないのになんでやってるんだろ
2019/06/13(木) 07:06:07.34ID:IJbgKQWI0
>>731
あらかじめ設置しておいたテキストボックスをwithEventsのObjにSetすれば同じ方法でEnterイベントとれるんですが

>>732
やはり普通のやり方ではとれないのが仕様なのか
2019/06/13(木) 08:28:39.04ID:P5difHG2M
>>733
高度なのと面倒なのの区別もつかないのかよw

>>734
今それやってるやついるか?
そもそもVBAの中途半端なクラス機能なんてたいして使えないし
2019/06/13(木) 08:29:50.97ID:P5difHG2M
>>739
動的リンクしたことないのか?
2019/06/13(木) 09:42:50.07ID:SefaKkNS0
あ〜〜電子タバコ意味ないんじゃ〜〜
金返せ〜〜〜〜〜
2019/06/13(木) 09:43:10.13ID:SefaKkNS0
誤爆
2019/06/13(木) 09:52:28.29ID:mXGAEns/0
>>747
高度だが。
Windowsがどのようにして動いてるかなど、Peek、Pokeの時代は知る必要さえ無かった。

やってる奴はいる。
自分のスキルの問題を言語のせいにする奴にとっては中途半端なんだろうな。
2019/06/13(木) 11:59:26.66ID:P5difHG2M
まあせいぜいコンストラクタに引数も持てない、継承もできないクラスでOOPごっこでもしてればいいんじゃね?w
2019/06/13(木) 12:56:20.10ID:mXGAEns/0
>>752
結局こういうことを言う人はC#だろうがPythonだろうが自分のスキルが足らないとこの言語はダメだと言って自分のスキルを上げるとか工夫するとはならないんだろうな。

文句を垂れるだけで自分で解決しようともしない。
2019/06/13(木) 12:58:53.23ID:P5difHG2M
どうやって解決するんだよw
解決策の一つでも出して見てから言えよ
ちなみにC#とPythonもコンストラクタに引数は持てるし継承もサポートしてる
2019/06/13(木) 14:22:51.67ID:eEQwMBJ6M
>>752
コンストラクタに引数持てないことを問題視する意味がわからん
どんな言語も万能じゃない
他のやり方で解決できるなら、そうするんだよ
アセンブラしか使えないなら、その仕様範囲でプログラミングするんだよ

大きな口叩くならお前が万能言語作ってみろや
2019/06/13(木) 14:48:29.63ID:ld0EDUlPM
> 大きな口叩くならお前が万能言語作ってみろや
クスクス
2019/06/13(木) 15:07:19.32ID:fWnxCzVb0
万能言語ワロタ
2019/06/13(木) 15:18:51.46ID:P5difHG2M
>>755
> コンストラクタに引数持てないことを問題視する意味がわからん
えっ、まじで言ってるの?
クラスを持つ他の言語はたいていコンストラクタに引数持てるよね?
その意味もわからないの?

> 他のやり方で解決できるなら、そうするんだよ
だからVBAでクラスなんて使いどころが限られるって話なんだが…

> 大きな口叩くならお前が万能言語作ってみろや
極論で反論したつもりになる低能乙w
2019/06/13(木) 15:26:27.63ID:fWnxCzVb0
コンストラクタに引数持て無いことの意味が分からないってアンタw
プログラム開発の経験ないって自分から言ってるようなもんじゃないか
2019/06/13(木) 15:40:43.45ID:eEQwMBJ6M
そんな局所的なこと言ってないってのが例えでわからんよねバカ達は

井の中で叫んでるやつは議論する価値なし
2019/06/13(木) 15:44:10.87ID:fWnxCzVb0
逃げたw
2019/06/13(木) 16:55:46.87ID:fZBdtlsYa
PEEKとか懐かしいな
ポケコンかな

ずいぶん長い間、携帯雑誌に書いてる機械語をどうやって入力するのか分からなかったな
ベーマガはポケコン少なかったしな
2019/06/13(木) 16:57:50.26ID:fZBdtlsYa
でも今のVBAは詳しく説明してくれて良い時代だよな
基本書と後はネット渡歩けばそこそこは作れるな
昔はベーシックは簡単だったがやれることが限られすぎてて
結局機械語に行かないと話にならなかったが、買った本が悪かったのか全く理解できなかった

代入ばかり書かれててもどうやったらゲームができるのか分からないよってよ
2019/06/13(木) 18:31:16.50ID:ZOMEvl3ga
>>690
そもそもだ

お前の頭じゃどんな言語を持ってしても
リッジレーサーは作れんだろう

俺にも作れない
2019/06/13(木) 19:03:58.14ID:mXGAEns/0
>>755
彼は日本語が読み取れないようだね。
どんな言語でもダメな部分はある。
その度に文句垂れて何もしない負け犬人生が目に浮かぶ。
2019/06/13(木) 19:24:28.38ID:P5difHG2M
>>765
>>754
具体的に語れないなら黙ってなよw
2019/06/13(木) 19:38:53.05ID:IEO0nY210
>>748
動的リンクは LoadLibrary くらいまでなら許容できるけど関数単位は御免だよ

継承はいらないしインタフェースもいらない
2019/06/13(木) 19:59:06.02ID:P5difHG2M
>>767
お前はLoadLibraryだけして何をするつもりなんだよw
2019/06/13(木) 20:41:57.51ID:IEO0nY210
>>768
Dll ファイルに対してLoadLibrary したら、そこに含まれる関数はすべて普通に呼び出せるだろうが
2019/06/13(木) 22:37:15.23ID:sjne6EqM0
>>769
お前…
マジで馬鹿だろw
2019/06/13(木) 22:47:52.45ID:IEO0nY210
>>770

個々の関数名を文字列で渡す必要があるかないか、って話だぞ
>>719 で出た GetProcAddress の話が続いている
2019/06/13(木) 23:01:13.79ID:sjne6EqM0
>>771
だからLoadLibraryで得たハンドルをどう使う気なんだよ…
2019/06/13(木) 23:11:37.59ID:IEO0nY210
>>772
ハンドルの使い方なんて関係ないだろ?
実行時に関数単位で文字列による指定をしなくて済むって言ってるだけだよ
2019/06/13(木) 23:17:44.26ID:MYcGXA9b0
LoadLibrary()の下に関数を呼び出すコードを書いてみよ
ということでは
2019/06/13(木) 23:26:16.68ID:IEO0nY210
Declare PtrSafe Function func Lib なんたら〜

だろ
2019/06/13(木) 23:44:35.37ID:IEO0nY210
GetProcAddress がwindowsAPIならLoadLibrary もwindows API
API に文字列を渡して何かにattach するときに、関数単位なのかファイル単位なのかってだけの話だよ。
使う関数が多数あることを想定している。
2019/06/14(金) 00:31:00.10ID:AQvHkPsD0
>>775
それ使うならLoadLibrary関係ないだろw
言ってることがチグハグすぎる
2019/06/14(金) 00:42:31.58ID:E1xposdX0
>>777
パスの解決に使うじゃないか
全部のDeclare 文にパス入れてんのか?
2019/06/14(金) 01:07:43.49ID:AQvHkPsD0
>>778
今時 AddDllDirectory と SetDefaultDllDirectories でやるだろ…
2019/06/14(金) 01:36:46.11ID:AsK2wH5J0
>>766
解決するつもりは無いのですよw
日本語分かります?
>>753は解決できるなんて話してないんですよ。

VBAのコンストラクタ問題を否定していない。
>>753はあなたのような人はC#で解決出来ない問題が出てくるとC#をこき下ろすだろうと言ってるにすぎない。
それとも「解決しようともしない」に反応してるのかな?
そういう話なら簡単です。
動作で問題になるよりコンストラクタ問題の解決は小さなことだからですよ。

あなたはコンストラクタ問題が解決出来ないからVBAでは実現出来ないと言って手を引いた。
しかし、私にとってはコンストラクタ問題が解決出来なくてもVBAで実現出来ることの方が上です。
動作の面でVBAの方が上となればの話ですが。

そしてVBAでの開発は限定された土俵であるがゆえに動作の面で上と成りやすい。
したがって総合的に有利となるわけです。
2019/06/14(金) 03:24:09.21ID:w+E6SvWo0
このスレ、質問に答えるというよりよくわからないレスバトルを楽しむ場所になってるよね
2019/06/14(金) 05:28:06.28ID:AQvHkPsD0
>>780
誰もVBAを使わないなんて言ってない
VBAのクラスは使いどころが限られる言ってるんだが…

> 日本語が読み取れないようだね。
自己紹介だったのかw
2019/06/14(金) 06:38:42.81ID:E1xposdX0
>>779
まあそれはあれだ
Windows 7 ェ...
2019/06/14(金) 12:04:47.09ID:sZCV0u2+d
>>782
???
「どうやって解決するんだよw」などと発言してるのに?
論理的思考も出来ないのかね?

クラスの話はとても分かりやすい。
>>747を読めばVBAのクラスの欠点を少しでも減らそうとせずに放棄し、その上その努力をした者に対してマウントを取ろうとする愚か者の姿がよく見える。

クラスに問題があることよりも動作に問題の有ることの方が問題なのは当然だと思うんだがね。
1ファイル問題はその一部なんだが。
2019/06/14(金) 12:17:48.19ID:mJVJgN7yM
継承とかいらんやろ
2019/06/14(金) 13:22:06.08ID:AQvHkPsD0
>>784
> 「どうやって解決するんだよw」などと発言してるのに?
そりゃ>>753
> 文句を垂れるだけで自分で解決しようともしない。
なんて言ってるんだから当然解決策ぐらい持ってるだろうからな
まさか解決策も持たずに吹いてるだけじゃないでしょ?

> 論理的思考も出来ないのかね?
お前がなw
2019/06/14(金) 13:23:19.15ID:AQvHkPsD0
>>785
おまえには不要かもな
ただ他の言語ではたいていサポートしてるから一般的には需要があることぐらいはわかるよね?
2019/06/14(金) 13:32:36.92ID:mJVJgN7yM
VBAのクラス(モジュール)の残念な点

・プロジェクト外から New できない
・だからcreate〜 関数を作るしかないけど当該クラスモジュールに置けない
・その他関連するちょっとしたヘルパー関数とかも中に置けない
・コンストラクタに引数がない
・End 時には Class_terminate が呼ばれない
・プロパティウィンドウに出ない隠し属性がある
・メソッドの AddressOf が取れない
2019/06/14(金) 13:33:19.29ID:mJVJgN7yM
>>787
パターンマッチングが欲しい
2019/06/14(金) 13:36:35.91ID:kh7XeVIUF
>>786
ハァ...
日本語勉強してくれ。

出来ることと出来ないことがあるのはどんな言語でも当然のことだろう。
与えられた範囲の中で少しでも改善できる余地が有るのに己のスキルの無さから放棄したお前のことを言ってる。
改善策があるかないかの話などしていない。

そして、お前の主張は動作に問題があることに比べれば全て些末な問題だ。

クラスについてもピントが外れてる。
コンストラクタの引数問題や継承問題よりもカプセル化が不完全な問題の方が大きな問題だ。
にもかかわらず、>>747の発言をして何とも思わないのは滑稽だ。
2019/06/14(金) 13:37:53.38ID:kh7XeVIUF
>>788
動作に問題あるよりは全部些末。
2019/06/14(金) 13:48:47.76ID:xt/gtn/Z0
>>788
>プロパティウィンドウに出ない隠し属性がある
他は古い言語だし仕様として諦めも付くが、
これはマジでキツイ、というか意味が分からない
ほんと何でなんこれ
2019/06/14(金) 15:04:38.86ID:AQvHkPsD0
>>790
改善策も持たずに
> 文句を垂れるだけで自分で解決しようともしない。
なんて言ってたのか?
論理的思考以前に引っ込みつかなくなったアホにしか見えんw
2019/06/14(金) 15:11:13.90ID:AQvHkPsD0
>>789
具体的にはどんなの?
2019/06/14(金) 15:11:59.93ID:mJVJgN7yM
>>791
クラスを利用しなくなる、という点で深刻
2019/06/14(金) 15:14:48.28ID:sZCV0u2+d
>>795
期待動作が出来ない方が深刻。
2019/06/14(金) 15:17:10.41ID:sZCV0u2+d
>>793
出来ないことを罵り、出来ることをしない無能を批判した文章を日本語として理解出来なかったという更なる無能をよく理解出来て良かったなw
2019/06/14(金) 15:19:56.33ID:sZCV0u2+d
>>792
非表示プロパティのことだよな。
確かに何でこんなことになってんの?ってのはある。

でも、非表示プロパティをプロパティウィンドウで設定したいと思ったことは無いなあ。
2019/06/14(金) 15:27:55.14ID:sZCV0u2+d
>>793
引っこみw
笑えるわw

なぜ>>765の発言になったのかを考えれば最初から改善策の話じゃ無いの明白なんだが。
>>753に対しての>>754が頓珍漢だから日本語の理解の話になってる。
頓珍漢の意味は分かるか?
噛み合って無いことを指摘してる話だぞ。

改善策の話なら噛み合ってることになるから>>765の発言にならない。
2019/06/14(金) 15:48:58.50ID:xt/gtn/Z0
今のがシフトケーブルで良かったな、ブレーキケーブルだったらお前はもう死んでるぞ
2019/06/14(金) 15:49:13.71ID:xt/gtn/Z0
すれ違いですすいません
2019/06/14(金) 16:13:05.34ID:AQvHkPsD0
アホが必死になってるみたいだが
改善策も持たずに
> 文句を垂れるだけで自分で解決しようともしない。
なんて言ってた事実は消えない
2019/06/14(金) 16:22:14.74ID:sZCV0u2+d
>>802
何度書いても、日本語が理解出来ないことが露呈するだけだw
2019/06/14(金) 16:25:15.48ID:cOCSYJ890
論点からズレズレなんだけど楽しい?
2019/06/14(金) 16:25:36.14ID:sZCV0u2+d
こういう自分の無能を気付いてないのを装い続けてうやむやに誤魔化そうとするのって少し前に見た気がするなw
2019/06/14(金) 16:25:54.46ID:AQvHkPsD0
理解?
事実を書いてるだけだけど?w
2019/06/14(金) 16:31:08.75ID:sZCV0u2+d
>>806
日本語の勉強しろw
日本人じゃなくてもコミュニケーション取れねーんじゃ議論にならないw
2019/06/14(金) 16:32:08.72ID:sZCV0u2+d
「日本人じゃねーのかもしれんが」に訂正。
2019/06/14(金) 18:08:05.93ID:mJVJgN7yM
>>791
動作に問題あるって何だよw
そりゃ論外じゃんかw
2019/06/14(金) 18:15:40.53ID:N06YB3IUM
事実を書かれてあたふたしすぎ
日本語の勉強が必要なのはお前だろ
そもそもVBAを使わないなんて誰も言ってないのにねぇw
2019/06/14(金) 18:19:05.04ID:N06YB3IUM
>>809
なんの動作にどんな問題があるのかも書いてないからなぁ
本人にしかわからん
まあ本人もわけわからなくなってるのかも知れんがw
2019/06/14(金) 21:32:45.95ID:NC4Evbsb0
thiscallな関数を AddressOf で直接取るのは無理か
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況