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