[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/22 05:48 / Filesize : 289 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part57



1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net]
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part56
mevius.5ch.net/test/read.cgi/tech/1534976724/

328 名前:デフォルトの名無しさん [2018/09/23(日) 18:06:38.73 ID:cRG95Xcq.net]
vbaとrubyはイロイロと空気がにてる
ゴミっぷりも似てる

329 名前:デフォルトの名無しさん [2018/09/23(日) 18:07:15.36 ID:cRG95Xcq.net]
エクセルは優秀な表計算ソフトウェア
コレは間違いない

しかしエクセルのオマケ機能のvbaはウンコ
コレは間違いない

330 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 18:09:15.69 ID:H5quPExp.net]
>>307


331 名前:キいませんあなたが何を言いたいのかよくわかりません
ブックを開いた状態から起動するマクロで有用な具体例はなにかありませんか?
抽象的な答えでごまかそうとしてませんか?
[]
[ここ壊れてます]

332 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 18:31:08.96 ID:RgL9otrm.net]
ハンカクでまた別人アピールしてるの?
いい加減に板を荒らすのは止めな

333 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 00:45:26.83 ID:LqyRy1HC.net]
ちょっと質問です。
とあるコードで
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
という記述を見たんですけど、Ifの中でEnd使うことってあるんですか?
やってる内容は
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
と同じなのかなと思ったんですけど、ご存知の方御教示頂ければ幸いです。

334 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 00:51:36.52 ID:cyCxPH/A.net]
>>321
Endのことはさておき、そのふたつのコードの意味は異なるよ

335 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 01:02:46.39 ID:LqyRy1HC.net]
>>322
本来意味が異なるのは分かるんですが、処理内容がそんな感じだったのでEndにはそういった意味があるのかな?と思って質問した次第です。

336 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 01:54:26.03 ID:GrunNCaI.net]
>>321
全く意味が違う。END使ったらプログラムが強制終了されてしまう。絶対に使うべきではない。
Sub main1()
Call sub1(True, True)
MsgBox "main終了"
End Sub
Sub sub1(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else

End If
End Sub
'結果:メッセージ1しか出ない

Sub main2()
Call sub2(True, True)
MsgBox "main2終了"
End Sub
Sub sub2(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
End Sub
'結果:メッセージ1、メッセージ2、main終了



337 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 03:08:18.87 ID:3gV95ADu.net]
Exit Sub とか Exit Function とかと違って、呼び出し元のプロシージャに返ることもなく一切のプログラムがそこで終了するコードってことだ。
Ifの中でEndを使うことがあるのかと訊かれれば、文法上は問題ないが俺だったら使わん。
もっとも、「早く返す」や「早く終了する」を追い求めたその人なりの結果かもしれんので、見かけたとしても内容次第で、問題のあるコードでなければとやかくは言わない。

338 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 05:43:58.48 ID:sHYzq55w.net]
>>321
Endステートメントを使うと、単にコードの実行が止まるだけでなくアプリケーションで保持していた全ての変数の値がリセットされ、アプリケーションに対する外部プロセスからの参照も遮断される

モードレス表示でフォームを表示している場合、値管理やカスタム常駐クラス使用のためにグローバル変数を使っている場合等には問題が生じるので本当に要注意

339 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 07:37:11.59 ID:E4VB1fuR.net]
状況わからんからなんとも言えんが致命的なエラー時に強制終了させるぐらいしかないと思う
>>321のコードは微妙にそう言うコード片な感じもするし

340 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:12:46.29 ID:ALTh+r7C.net]
>>321
多分エラーメッセージの後、後続処理をやりたくないのでendって書いたんだろう
exit subで抜けても呼び元に帰って続行するから

341 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:24:57.98 ID:LqyRy1HC.net]
皆さまありがとうございます。
ちゃんと読んでみたら終了するコードでした…お恥ずかしい…
今後質問する際は頭をリフレッシュさせて読み直してからに致します。
ご迷惑をお掛けしました。ありがとうございました!

342 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 09:47:07.47 ID:ltYXr3cK.net]
psやらrubyやら喚き叫ぶバカよりは良い w

343 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:16:18.94 ID:Z99vN/yN.net]
>>329
ところで

If 条件1 Then
 ・・・
ElseIf 条件2 Then
 ・・・
End If



If 条件1 Then
 ・・・
End If
If 条件2 Then


344 名前: ・・・
End If

では意味が違ってくるのはわかってますか?
[]
[ここ壊れてます]

345 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:25:02.72 ID:oCpujaFY.net]
周回遅れなアホ質問要らん

346 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:26:57.24 ID:Z99vN/yN.net]
>>332
いや、>>323のレスを見ると不安になるだろ



347 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:34:31.82 ID:LqyRy1HC.net]
>>331
ほんと何処に目をつけていたのか自分でも分からなくてお恥ずかしい限りですがElseの意味は分かっています。申し訳ないです…

348 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:24:14.30 ID:0AspGVrS.net]
>>334
訊かれてるのは ElseIf の意味だぞ

349 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:47:03.05 ID:3gV95ADu.net]
質問(した方が逆に質問される)スレ

350 名前:デフォルトの名無しさん [2018/09/24(月) 16:16:37.08 ID:Z99vN/yN.net]
https://qiita.com/Q11Q/items/b525330d043e2a775594
いつもながら薄気味悪い
誰に語りかけてるんだよ?

351 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 16:35:59.07 ID:e4NBE4Fp.net]
>>319
そもそもの考え方が違うから思い付かないんだろう。
例えば日付毎の生産量を表す表とグラフが有ったとする。
表示する期間を指定することでグラフ表示が変化するプログラムが有ったとしよう。

何でそんな機能が必要かといえば、表とグラフをにらめっこして、1週間後のグラフはどうだろうという要望や判断が有るからだ。

こんな例すら思い付かないんだから知識や技術が有ってもダメプログラマーなんだろうな。

352 名前:デフォルトの名無しさん [2018/09/24(月) 18:01:08.47 ID:qkXKwQlD.net]
荒らし本人が言ってもな

353 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:02:07.29 ID:NcXWYl5J.net]
>>337
webってそういうもんだよ
知らないの?何十年前の人間なの?

354 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:06:57.12 ID:In5MTxMl.net]
そんなのPowerShellかRubyで十分

355 名前:デフォルトの名無しさん [2018/09/24(月) 18:20:22.67 ID:Z99vN/yN.net]
>>340
qiita VBAタグの劣化は許しがたい
そうは思わないか?

356 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:28:34.71 ID:sPlVwsRd.net]
>>338
どの言語でも簡単にできる上にそういうツールって今はいくらでもあるんでVBAでやる理由としてはちょっち弱いですね
これはエクセル開いた状態のVBAじゃないと絶対無理だっていう事例を知りたいです



357 名前:デフォルトの名無しさん [2018/09/24(月) 18:32:02.32 ID:qkXKwQlD.net]
>>342
頭大丈夫か?

358 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:44:10.41 ID:e4NBE4Fp.net]
>>343
バーカ。
何でブックで保存するんだ?
そのファイルは結局どうするんだ?

Excelで開くんだよ。
何の為にそんなことするんだ?
業務では開いた上で人間が何らかの判断をする為だ。
そうじゃ無かったらExcelは必要ないし、人間が開く必要も無いし、ファイルもバイナリで良い筈なんだ。

開いた上で動作するものばかりである必要は無いが開いた上で作業するのが基本なんだからプログラムも開いた上で動作するのがメインなのは当たり前だろう。

359 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:47:21.59 ID:sPlVwsRd.net]
>>345
意味不明ですね
エクセルを開いたままVBAを使うことのメリットを納得させる決定的な具体例はまだですか?

360 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:48:07.49 ID:e4NBE4Fp.net]
>>343
お前の主張はExcelである必要も無い場合も含んでる。
というかその割合も多いだろう。
だからお前がここに来てるのもまったくおかしい。

絶対に無理とか

361 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:50:03.06 ID:e4NBE4Fp.net]
絶対に無理とかいい出したら、PC使わないと絶対無理な事例自体無くなってくるぞ。

紙とエンピツでOKという話になる。

362 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:51:22.73 ID:e4NBE4Fp.net]
>>346
開いて作業するのが基本。
わざわざ開かずに作業する方がおかしい。

363 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:52:11.10 ID:sPlVwsRd.net]
主張が支離滅裂で理解できません

エクセルを開いたままVBAを使うメリットを納得させる決定的な事例を聞いてるのですが
そのような事例は存在しないのですか?

364 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:52:40.76 ID:e4NBE4Fp.net]
>>346
意味不明なのはお前。
開いて作業できること自体メリットだよ。

365 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:53:11.09 ID:e4NBE4Fp.net]
>>350
既に説明済みだが。

366 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:54:30.36 ID:sPlVwsRd.net]
>>351
そのメリットを納得させる決定的な事例を聞いてるのですが
そのような事例は存在しないのですか?



367 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:55:55.65 ID:e4NBE4Fp.net]
そもそも

368 名前:最初から支離滅裂なのはお前じゃないか。

じゃあ、お前はどうしても絶対にVBAではいけない事例をあげられるのか?
そもそもVBAを否定する奴の主張の方が絶対どころかほとんど大した理由になってないものばかりじゃねーか。
[]
[ここ壊れてます]

369 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:56:13.26 ID:e4NBE4Fp.net]
>>353
既に説明済み。

370 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:57:30.40 ID:e4NBE4Fp.net]
>>353
結局、お前の主張を要約すると「VBAは嫌い」というだけだ。

371 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:00:43.65 ID:NcXWYl5J.net]
>>342
思わない
エクセル以外の処理をvbaで色々やるのが間違ってるんだよ

C#にでもまとめて、コマンドプロンプトで処理すればいい
もう文字コードだのお節介機能で自動変換だの疲れた

ってか、”1-1-1”を普通に取り込めないとかもうウンコofウンコすぎてしんどい

372 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:01:15.42 ID:sPlVwsRd.net]
>>354
いけないということはないですが楽で効果的な手法があるなら常識的に考えてそちらを使うのが自然ですよね
あえて非効率な方法を選ぶならそれなりの理由が有るはずです
その理由とそれを納得させるような事例を知りたいのです
ただ単にその事例に興味があります

373 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:05:58.04 ID:e4NBE4Fp.net]
>>358
自然w
頭の悪さが滲み出てるわw
よくそんなこっぱずかしいことが言えるな。

Excelのブックは開いた状態で作業するのが「自然」なんだからお前の主張に則ればVBAが一番有利という結論だな。

374 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:08:11.84 ID:e4NBE4Fp.net]
自然などと書けばこういう突っ込みが来ることも想像出来ないんだから話にならない。

375 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:09:15.54 ID:sPlVwsRd.net]
>>359
エクセルを開いたままVBAを使うことが他の言語やツールと比べてメリットがあると納得させる事例は存在しないのですか?

376 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:11:39.15 ID:GrunNCaI.net]
>>358
使うのに必要なスキルが極めて少ない



377 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:16:37.23 ID:sPlVwsRd.net]
答え無しですが時間がもったいないのでこの辺りで切り上げましょうか

378 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:19:46.76 ID:e4NBE4Fp.net]
人には絶対を求める癖に自分は自然ですます。
いったい、どういう頭の構造になってるんだろう。

379 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:54:15.09 ID:Z99vN/yN.net]
そもそも俺はVBAの言語仕様がなかなか良いと思ってるんだが
そういう前提に立つ人間は少ないのかな?

380 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:14:30.52 ID:Go3cawEH.net]
>>365
ジョークとか皮肉で言ってる?
ちょっとよくわからないんだけど

381 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:14:49.56 ID:8Eg6qm1l.net]
20年間COBOLとPL/Iをメインでやってきた人が、「VBAは良い。生産性がとても優れている。」と言っていた
まあ人それぞれということだ

382 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:15:16.80 ID:Z99vN/yN.net]
>>366

383 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:16:36.26 ID:Z99vN/yN.net]
>>366
なぜ皮肉だと?
「とても良い」とまでは言わないが、そこそこ良い言語仕様じゃないか。
そう思う人間も多いだろう。

384 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:18:56.67 ID:E4VB1fuR.net]
>>365
言語仕様は基本VB6なので当時としてはよくできてた
でもさすがに20年も経つと色々見劣りするところが出てくるわけで

385 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:25:47.99 ID:3gV95ADu.net]
>>337
気にしてもハゲるだけなんじゃねーの

>>364
閉じた業務系でVBAと肉入り以外の選択肢を潰されてやむを得ずVBA触った俺みたいな変人もいるし、
まぁその手の固定観念でもあるか、あるいは構ってちゃんなだけじゃねーの

386 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:27:32.35 ID:Z99vN/yN.net]
>>370
それはもちろんそうだが、それによって致命的に使いにくくなっているわけじゃないしな。
なんか上の方の議論が「使いにくい言語をあえて使う理由は何なの?」みたいなノリで、
言語として使いにくいことが前提みたいになってる点が気になった。
「VBAは十分使いやすい言語だ」という前提を下ろすつもりのない人間もいるわけで。



387 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:27:41.54 ID:vr3+WUA5 ]
[ここ壊れてます]

388 名前:.net mailto: 「良い」にも色々あるからな
まともなプログラミングの基礎のない低スキルな人間が、新しいことを一切学ばずとも20年間仕事できてるわけで、これはすごいことだよ
[]
[ここ壊れてます]

389 名前:デフォルトの名無しさん [2018/09/24(月) 20:28:51.56 ID:5zI+X6hO.net]
>>370
当時からガチ勢と比べれば見劣りすることだらけだったわw何知ったかしとんねんプロさんwwww

390 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:48:27.78 ID:E4VB1fuR.net]
>>372
使い易さなんて他の言語との相対的なもの
他の言語の便利機能知ってしまったらあの機能もないのか…とかこの機能があれば…ってなるのはしょうがない

>>374
はいはい w

391 名前:デフォルトの名無しさん [2018/09/24(月) 20:54:52.18 ID:5zI+X6hO.net]
>>375
うむ、バカはしゃべらん方がよろしいw

392 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:28:35.65 ID:Hov49HPU.net]
くだらない言い合いでスレ伸びまくりで草

393 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:48:48.21 ID:GrunNCaI.net]
エクセルVBAは(ユーザーの)エクセルの操作を支援する場面において無類の力を発揮する。
しかしちょっと込み入った処理をしようとすると近代的な言語で書きたくなることは確かにある。

そこで質問です。
エクセル上でボタンを押す
→VBAでイベントを受ける
→外部プログラムにSelectionを渡す
→Selection(Range)を元に処理を実行
→処理結果を二次元配列データでVBAで受け取る
→VBAでデータを加工する。
→ワークシートにデータを書き出す。
尚、本エクセルは共有フォルダ上において複数名が交代で使用する。

こういったことがしたい場合何で書いたらいい?C#?PowerShell?

既存のVBAも活かしたいので、全部C#とかに一新しろっていう回答は無しでお願い。

394 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:53:45.14 ID:QDf0aD0O.net]
VSTOでアドオンだな
VBA資産とかいうゴミは捨ててC#で一新しよう

395 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 21:56:06.10 ID:NcXWYl5J.net]
>>378
csvか何かに吐き出せばどんな言語でも処理できるっしょ
ってかその程度ならvbaで頑張るわ

396 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:02:20.31 ID:Z99vN/yN.net]
>>378
> →Selection(Range)を元に処理を実行
> →処理結果を二次元配列データでVBAで受け取る

この2点からしてVBAで完結する案件
最初からRange→配列にして処理すればいいからね



397 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:19:41.01 ID:GrunNCaI.net]
>>380,381
シンプルに書きすぎた。
たとえばSelectionの中身がファイルのパスで、そのファイルが複雑なデータ形式(たとえばAutoCAD dwg)を外部プログラムで解読したいとする。
(VBAのクラス関連の機能がショボすぎて無理だったので、前にC#で書いたものがある)
これをVBAから呼び出して使いたいってこと。

諸事情によりエクセルブックと同じフォルダにps1なりdllを置く必要があって、これを呼び出せると助かる。

398 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:24:01.34 ID:Z99vN/yN.net]
>>382
じゃあSelectionとか関係なくファイルパスを引数にするDLLを書いてVBAから呼び出せばいいじゃん。
VBA側では
ByVal path As String


399 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:34:16.30 ID:Z99vN/yN.net]
>>382
まあCだと諸般の事情から文字列を渡す場合でも
ByVal path As Stringじゃなくて
ByRef path As Varian ってインタフェースがいいわけですが
C#だと知らん

400 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:44:58.17 ID:sPlVwsRd.net]
>>378
VBA->C#(COM)->PowerShell->(PS, C#, CMD, VBS, etc.)

401 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:06:47.65 ID:GrunNCaI.net]
>>383,384,385
同じフォルダのDLLを呼ぶように出来るの?
COM使うとしたらregasmが必要になるらしいけど・・・
ネットワーク共有フォルダ上のは設定出来ないのでは?
あ、遅延バインディングで出来るんだろうか

402 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:17:50.47 ID:Z99vN/yN.net]
>>3

403 名前:86
自作DLLをVBAから呼ぶっていう単純な話だよね?
別にどんなフォルダにあろうと関係ないけど。
あとSelectionそのものじゃなくて配列化したデータを渡すんだったらCOMなんていらなくて
WIN32APIだけでできる。
[]
[ここ壊れてます]

404 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:30:05.56 ID:3gV95ADu.net]
要はCADデータからメタ情報を抽出して、できればExcel形式で一覧化したい系の?

405 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:46:24.03 ID:GrunNCaI.net]
>>387
そうだね。.NET系のDLLの関数を使いたい系。
COM登録せずに呼び出す方法あるのか。
参考URLとかもらえないだろうか。

>>388
メタ情報じゃないかなー図形情報の位置関係から特定の情報だけリストアップしてる。
まぁ例だからこれに限った話じゃないのだけど、VBAで書き直すのは無理ゲーすぎる。

406 名前:388 mailto:sage [2018/09/25(火) 01:06:10.25 ID:s1AsV/RM.net]
>>389
確かにそれだと自作DLLぐらいしか解決策なさそうだな。
んで、C#で書いた.NET系のDLLの関数をRegAsm使わないで呼び出したいと・・・悪いけど正直やったことない。
が、DLLをEXCEL.EXEと同じ所に置けるなら↓の方法が使えるかもしれない。
www.ka-net.org/blog/?p=6198
全然見当違いだったら申し訳ないが。



407 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 18:07:06.26 ID:HENVIdME.net]
フォームにオプションボタン1,2,3、リストボックス1,2,3を設置
オプションボタン2にチェックがあるとき、リストボックス2表示、リストボックス1,3は非表示
という具合に、オプションボタンにチェックがあるときに対応するリストボックスを表示、それ以外を非表示にしたいです

Private Sub UserForm_Activate()
If OptionButton1.Value = True Then
ListBox1.Visible = True
ListBox2.Visible = False
ListBox3.Visible = False

ElseIf OptionButton2.Value = True Then
ListBox1.Visible = False
ListBox2.Visible = True
ListBox3.Visible = False

ElseIf OptionButton3.Value = True Then
省略
end if

と書いてみたのですが、リストボックスの表示、非表示をコントロールできません
どうすればいいでしょうか

408 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 18:25:16.89 ID:Rh4u2+TF.net]
>>386
プロフェッショナルなら可能

409 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 18:35:56.01 ID:quZOCI3i.net]
>>391
オプションボタンのクリックイベントに書かないと動かなくて当然

410 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:09:20.22 ID:5hhJfzHj.net]
>>389
まず、そのDLLはCOMなのか、通常の呼び出し用なのか、.NET用なのか

COMなら参照設定なりCreateObjectなりで
通常のDLLならDeclare Function(SUB)で呼び出せば良いだけ

.NETのDLLは.NET以外から呼び出すのは難しいので、素直にCOM公開する方が楽


まあその相手方(たとえばAutoCAD?)がCOM公開してくれるのが一番楽だろうけど

411 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:09:27.10 ID:HENVIdME.net]
>>393
あーそうでした!お恥ずかしい
ありがとうございました

412 名前:デフォルトの名無しさん [2018/09/25(火) 19:15:41.25 ID:SdejvHFK.net]
すみません、切実に助けて頂きたいです。
現在、VBAからoracle12cにado接続してデータアップデートを行う処理を作成しています。
ですが、更新はうまく行くのですが、なぜか処理件数がどうしても0になってしまいます。
何時間も色んなサイトを参考にしたり、したのですが、ダメで…
色々なサイトにあるソースをコピペして接続先やテーブル名のみ変えて貼ったりもしてみましたが、実行するとやはり更新はされるのに処理件数が取得できません。
もう自分ではどうすることも出来ず、どなたか助けて下さい…お願いいたします。

413 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:31:14.47 ID:ObO6oAGo.net]
>>396
どうやって取ろうとしている?

414 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 20:41:07.98 ID:/T1GixS7 ]
[ここ壊れてます]

415 名前:.net mailto: >>396
当然、これを見てlong型の第2引数を指定した…ってのは勿論やったんだよね?
https://msdn.microsoft.com/ja-jp/library/cc364125.aspx
[]
[ここ壊れてます]

416 名前:デフォルトの名無しさん [2018/09/26(水) 00:30:33.04 ID:17jq3B2z.net]
WinScard API使ってリーダーに設置したカードのIDmをセルに入力させたいのですが、うまく機能しません。
サンプルコードがありましたらご教示願います。



417 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 01:13:21.41 ID:6OKvzXmf.net]
>>396
プロパイダ(ドライバ)によってはレコード件数返さん奴があったはず
一回プロパイダ変えて試してみ

最悪は更新と同じ条件のselect投げて件数取得してから更新かけれ

418 名前:396 [2018/09/26(水) 09:21:14.19 ID:rrNz/9UY.net]
397、396
コマンドオブジェクトから、以下のようにしてやっていました。
com.execute(re)
comはADODB.COMMANDで、updete文を設定してあり、更新自体はうまくいきます。
reはlong型の変数です。
マニュアルのとおり、コネクションでexecuteもやってみたのですが、結果は返らず…

400
Microsoft ACTIVEX data objects 6.1を使ってみているのですが、ほかのバージョンにしてもダメでした…
ADO接続を使用する上で、必要な参照が上記以外にあるのでしょうか…


皆さんすみません、ほんとうに素人丸出しで申し訳ございません…

419 名前:デフォルトの名無しさん [2018/09/26(水) 16:42:22.74 ID:JgSk1Rg0.net]
VBAの勉強をしようと思うのですが、まず何から始めればいいですか?教えてください。

420 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:05:59.73 ID:cCj/GZBP.net]
まず服を脱ぎます。

421 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 18:16:51.93 ID:Dt06YZ+t.net]
>>402
まずやりたい事を考えるといい。

最初は既存の関数の真似するプログラムでも書いて基本的な書き方を覚えるとかオススメ。
関数使えばチェックできるし。

慣れてきたら、百ます計算を作るでもいいし、ナンプレを作るでもいい。日常的にエクセルでやってる操作があるなら自動化してみるでもいい。

そのために必要なことはググれば全部出てくる。

422 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 18:45:15.00 ID:OGb2Ur6B.net]
以下二点留意すればあとはググりながら独学で大丈夫かと思います

・普通に日英両方でググっても出てこなかったら他のモダンな言語の出番だと察する癖をつける
・bufとかSub Sample1()とかobjFsoといった特徴的な表記をサンプルコードで多用しているサイトは悪いコードの見本市なので極力真似ないように今から気を付ける

423 名前:デフォルトの名無しさん [2018/09/26(水) 19:12:00.05 ID:+un+mAjX.net]
そしておもむろに肛門にこびりついトレペかすを掃除します。

424 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 19:12:58.42 ID:SfBrsqof.net]
>>401
12cならOracle.ManagedDataAccessがオススメ

425 名前:デフォルトの名無しさん [2018/09/26(水) 21:33:09.71 ID:JgSk1Rg0.net]
>>404
いきなり参考書から始めないほうがいいってネットに書いてありましたけど、本当ですか?

426 名前:デフォルトの名無しさん [2018/09/26(水) 22:45:53.91 ID:+un+mAjX.net]
ネットに書いてある事を素人が真似ると最悪直腸が破裂する危険もあります。
初心者が浣腸プレイに挑戦する時は必ず上級者に直接教えてもらうようにしまちょう。



427 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:16:47.85 ID:4uP8tILz.net]
>>409
それ、面白いと思って書いたの?

428 名前:デフォルトの名無しさん [2018/09/26(水) 23:17:53.84 ID:+un+mAjX.net]
>>410
面白いと思ったの?w






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef