2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Excel VBA 質問スレ Part53

1 :デフォルトの名無しさん:2018/04/27(金) 19:02:38.39 ID:+ocy8bIv.net
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part52
http://mevius.5ch.net/test/read.cgi/tech/1517052305/

2 :デフォルトの名無しさん:2018/04/27(金) 19:06:16.81 ID:thq99FCt.net
Excel大好きマンの君たちは普段どんなアプリをExcelで作ってるの?

3 :デフォルトの名無しさん:2018/04/27(金) 20:25:05.91 ID:S/hXXJWv.net
Power shelllの自動生成

4 :デフォルトの名無しさん:2018/04/27(金) 20:37:12.23 ID:5jKnhP1D.net
質問します


最近ティンコが痒いのですが
どうすれば良いですか
教えてくさい

5 :デフォルトの名無しさん:2018/04/27(金) 21:10:28.60 ID:CQ9eqs6l.net
かゆい/時間でグラフ化するといいともう

6 :デフォルトの名無しさん:2018/04/27(金) 21:14:15.97 ID:rM2AyKG8.net
前スレでも教えていただいたコードを変えて

F1の値が5繰り上がるごとに、シート"納品書を"印刷するようにしたいのですが
F1が繰り上がらないです。
F1を繰り上げるにはどうしたらよいでしょうか


Sheets("名簿").Select
For i = Range("F1") To Range("F2") - 1 Step 5
Range("F1") = i
Sheets("納品書").Select
ActiveSheet.PrintOut
Next
End Sub

7 :デフォルトの名無しさん:2018/04/27(金) 21:48:08.65 ID:CQ9eqs6l.net
すげえな
前スレで教えてた奴責任取れよw

8 :デフォルトの名無しさん:2018/04/27(金) 21:49:23.67 .net
>>6
Sheets("名簿").Select
For i = Range("F1") To Range("F2") - 1 Step 5
Range("F1") = i
Sheets("納品書").Select
ActiveSheet.PrintOut
Sheets("名簿").Select
Next
End Sub

まあ下みたいにしたほうがプログラムっぽいかもしれないけど、まずは上の形でいいと思う

Dim wksList As Worksheet
Dim wksSlip As Worksheet
Dim rngF1 As Range

Set wksList = Sheets("名簿")
Set wksSlip = Sheets("納品書")
Set rngF1 = wksList.Range("F1")

For i = rngF1 To wksList.Range("F2") - 1 Step 5
rngF1 = i
wksSlip.PrintOut
Next
End Sub

9 :デフォルトの名無しさん:2018/04/27(金) 22:09:27.05 .net
>>6
で、結局仕様がよく分からないんだけど、
A8に1、A9に2、A10に3、A11に4、A12に5、A13に6、A14に7
という形で連続した行番号が入っているの?
空白セルがあったらその前の行が最終行とみなしていいの?
5行ずつの場合、A8(1)からA14(7)までのデータがあったら
印刷するのは3回で、1回目はF1に1を格納して印刷、
2回目はF1に6を格納して印刷、3回目はF1に11を格納して印刷ってことでいいの?
(最初は2行ずつで偶数と言ってたけど、どうやら5行に変わったみたいなので)

10 :デフォルトの名無しさん:2018/04/28(土) 08:11:58.78 ID:bL+b5Osr.net
この納品書出力アプリってまさに
・入出力とデータが分別できてない
・MVCを理解していない
の典型例だな
VBAerって本当にこういう酷いユーザーが多い
素人の事務員さんならまあ許すけど、本職がプログラマでもExcelになるとなぜかこういう酷いツールを作る人が出てくる

11 :デフォルトの名無しさん:2018/04/28(土) 08:27:14.36 ID:Ydf4b474.net
こんな基本もわからない奴に迂闊に教えると、そいつの会社へのテロに加担するようなもんだぞ

12 :デフォルトの名無しさん:2018/04/28(土) 08:40:20.51 .net
糞みたいな構成のシートとVBAコードでも最終的にやりたいことができて
それまで手動で6時間かかってた作業が3時間で終わるようになったらええやん
その間PCで作業はできないから新聞読んだりダベったりしてればいいよね
ちゃんと作ったらバックグラウンドでPC作業を邪魔せず30分で終わるかもだけど

13 :デフォルトの名無しさん:2018/04/28(土) 09:01:21.06 ID:bL+b5Osr.net
使い捨てを含めて長期にわたりメンテナンスの必要性がない
運用中に入力のストレスが無い
レスポンスが許容できる
バグが無い

これだけ満たしてれば中身が悲惨でもいい
でも現実にそんなケースは殆ど無い
だから中身をクリーンで改良しやすい状態に保たなければならない

14 :デフォルトの名無しさん:2018/04/28(土) 09:07:58.99 .net
>>13
んなこたあない
無駄や欠点があってこそ雇用が生まれる

15 :デフォルトの名無しさん:2018/04/28(土) 09:11:16.45 ID:bL+b5Osr.net
>>14
なら全部手作業でやれば?
確かに雇用は増えるだろう
国際競走にはぼろ負けするけどな

16 :デフォルトの名無しさん:2018/04/28(土) 09:14:13.80 .net
>>15
1か0かの極論でしか物を考えられないんですね^^

17 :デフォルトの名無しさん:2018/04/28(土) 09:17:17.40 ID:bL+b5Osr.net
やれやれ皮肉も通じないか

18 :デフォルトの名無しさん:2018/04/28(土) 09:58:31.27 ID:hSIpEl6G.net
ずっと張り付いてる人いるねw

19 :デフォルトの名無しさん:2018/04/28(土) 10:32:10.98 ID:8ncxUL6T.net
誘導無しのスレ立て直後に>>2をレスしてっから粘着に命かけてるよな
しかもMVCだの国際競争だのと意識高い系が好みそうなワード

そんで小うるさい割に「アプリ」の定義が正確じゃないんで
「なんかかっこいいから」っていうふざけた理由でSEになって心が折れたタイプで
かつて自分が言われてた事を内容を理解せずにそのまま吐き出してるとかなんじゃないの

20 :デフォルトの名無しさん:2018/04/28(土) 10:34:26.97 ID:6KVqpJhf.net
>>10
せっかくなんでMVCの基本と言うのを教えてもらえませんか?

21 :デフォルトの名無しさん:2018/04/28(土) 10:35:35.99 ID:BFoQSfBk.net
VBAのスレで雇用とか国際競走とかってw

22 :デフォルトの名無しさん:2018/04/28(土) 10:40:32.78 ID:Q4Sv8Uvy.net
ゆとりの馬鹿が来るとこうなる
ホント迷惑

23 :デフォルトの名無しさん:2018/04/28(土) 11:01:36.00 ID:bL+b5Osr.net
ゆとりVBAerはカスだよなぁ

24 :sage:2018/04/28(土) 11:20:38.79 ID:Gwyos15m.net
>>8
できました。ありがとうございました。

25 :デフォルトの名無しさん:2018/04/28(土) 14:36:45.18 ID:VMgQedNe.net
>>19
なかなかのプロファイリングスキルやなw
言っとっけどマジに褒めとるんやでw

26 :デフォルトの名無しさん:2018/04/28(土) 15:00:33.62 ID:9z8isRDe.net
>>21
ソフトウェアじゃない業界での国際競争って意味なら大いに関係あるし、VBAってそういう用途でしょ

27 :デフォルトの名無しさん:2018/04/28(土) 15:08:42.01 .net
>>26
国際競争やないで、国際競走やでw

28 :デフォルトの名無しさん:2018/04/28(土) 15:50:37.14 ID:9z8isRDe.net
>>27
w

29 :デフォルトの名無しさん:2018/04/28(土) 15:58:28.39 ID:hSIpEl6G.net
>>26
国際競争になりそうなところはシッカリしたソフト作らないとダメだと思うよ。
それをVBAでやろうとするのは流石にどうかしてる。VBAでできるのは人力でカバーできる範囲で楽になるかならないかってところだと思う。
国際競走では知らんけどw

30 :デフォルトの名無しさん:2018/04/28(土) 16:39:30.81 ID:9z8isRDe.net
>>29
ソフトウェアそのものの力の意味だったら仰る通り
ま、労働効率・生産性って意味の競争力ね

31 :デフォルトの名無しさん:2018/04/28(土) 17:07:17.48 ID:8ncxUL6T.net
RubyマンはMVCデザインパターン推しとアプリという言葉の使い方から、
クソみたいな人材が大量雇用されるWebアプリ業界の人間だと思うけど、
そこで言われる競争力だの効率だのってのは新人のケツ叩くためのものだから真に受けない方がいいぞ

ついでに言えば雨後の竹の子の様に生えてくるWebアプリ開発に追いつく為に開発効率が重視されるRubyだのPythonだのと、
社内で飽きるほどやった事務作業を決まった手順で再現可能にすりゃいいだけのVBAじゃ分野が全然違うしな

32 :デフォルトの名無しさん:2018/04/28(土) 17:18:45.53 ID:A81EbSS8.net
>>24
いいってことよ(´・ω・`)b

33 :デフォルトの名無しさん:2018/04/28(土) 19:58:17.34 ID:bL+b5Osr.net
>>31
業務作業のオートメーションが目的ってのはVBAとか関係ないわな
俺がメインで使ってるC#もJavaも同じWeb屋が使うRubyなんかも同じ

MVCがWeb屋の専売特許みたいな勘違いをしているのかもしれんがMVCはGUIアプリケーションを作る際の伝統と実績のあるパターンだよ
MVCはWebアプリでもデスクトップアプリでもスマホアプリでも通用するものだ
Excel VBAで作るようなアプリの多くはデスクトップGUIアプリに分類できるからMVCはExcel VBAでも恩恵を得られる
そしてそれは生産性を高めるだけではなくプログラムの見通しを良く設計をしやすく保守性を高める効果がある
誰だって同じものを作るなら早く綺麗に作りたいと思うだろう
VBAerは偏屈だからそうではないのかもしれないが……

分野が違うなどと言うがITの世界では色んな物や知識が繋がっているものなんだよ
VBAという狭い世界に閉じこもっているから気が付かないだけでね
VBAerはもっと積極的に色んな言語や環境に手を出して見聞を広めるべきだよ

34 :デフォルトの名無しさん:2018/04/28(土) 20:31:10.11 .net
やっぱりWeb屋だったか
自分で起業して一発当てれば大きいが
雇われエンジニアとしては最底辺の業界

35 :デフォルトの名無しさん:2018/04/28(土) 22:42:41.40 ID:6AYZ4JmZ.net
Excel VBAでGUIアプリねぇ
表計算のシートで正規化とか言い出すより失笑もんだな

36 :デフォルトの名無しさん:2018/04/28(土) 23:09:17.56 ID:hSIpEl6G.net
VBAユーザーの多くはプログラマじゃなくて事務屋だってのが理解できないんだな。
MVCだの設計だのって本職じゃない人がどこまでやるってんだろう。
プログラミングは手段であって目的じゃないんだよ。
偏屈なweb屋には理解できないだろうけどw

37 :デフォルトの名無しさん:2018/04/29(日) 00:14:51.00 ID:hAJLRgtx.net
エクセルエンジニアは、プログラマーじゃない普通の社員。
プログラマーは、プログラミングができる専門家

出される問題が表計算なら、エクセルエンジニアでもできるけど、
出される問題がプログラミングなら、プログラマーじゃないと出来ない

出される問題によって、解決者や手法を変えないといけないが、
それをせずに、エクセルとエクセルエンジニアでやろうとするから無理

ループしたり、条件制御したり、解決すべき問題が、プログラミングになってる。
それが、エクセルとエクセルエンジニアの問題としては、おかしい

38 :デフォルトの名無しさん:2018/04/29(日) 00:24:10.94 ID:WGmi9FI0.net
>>37
そんな遠慮する必要はどこにもないぞ
普通の社員だろうがプログラマじゃなかろうが、
まともなプログラミングができて仕事に活用できるなら、
それは強みになるってだけだ。

39 :デフォルトの名無しさん:2018/04/29(日) 00:42:13.25 ID:uTtrmgKE.net
>>36
だったらプログラム板から出ていくのが筋だろう
事務処理技術板なんてのがあるか知らんがそっち系の板を探してそっちでやれ
ここはあくまでプログラム専門の板だ
プログラムに関する専門的な話をするための板だ
事務員でしかないエクセルエンジニアの居場所じゃない

40 :デフォルトの名無しさん:2018/04/29(日) 00:46:03.87 ID:6PV86YGg.net
MVCとか設計に拘るんならそういうスレが別にあるんだからそっち行けば?

41 :デフォルトの名無しさん:2018/04/29(日) 00:49:33.41 ID:OxSnUJcm.net
>>39
本職のプログラマ以外はプログラムの話をしてはいけないのか?
えくVBAのスレでVBAは使えないと連呼する奴が出て行くのが筋だろうにw

42 :デフォルトの名無しさん:2018/04/29(日) 08:14:17.07 ID:WGmi9FI0.net
「ど素人が来るな」はまあわかるけど、さすがにプロが来る場所じゃないよね

43 :デフォルトの名無しさん:2018/04/29(日) 08:21:43.18 ID:cmKSXaTU.net
いや、ここ質問スレだからど素人の来る場所ですし・・・

44 :デフォルトの名無しさん:2018/04/29(日) 08:28:00.43 ID:tvmCKeNo.net
質問スレだからと言っても限度がある

45 :デフォルトの名無しさん:2018/04/29(日) 10:54:52.98 ID:uTtrmgKE.net
事務員専用とプログラマ専用とでスレを分ければいい
事務員専用VBAスレでは前スレの納品書みたいな話題を永遠に繰り返す
プログラマ専用VBAスレではより良いプラクティスや設計論、他ツールとの連携、代替、移行などもう少し高度な議論を扱う
お互いレベル差ありすぎて関わり合いたくないだろう

46 :デフォルトの名無しさん:2018/04/29(日) 11:02:41.41 ID:3LH0pXZd.net
現場の事務員がどんな酷いマクロを作ってるのか、プログラムをどんなアバウトな感覚でイメージして外注に出してるかをプロのVBAプログラマが知るにはうってつけの場所だと思うけどな、ここは

47 :デフォルトの名無しさん:2018/04/29(日) 11:06:46.99 ID:cmKSXaTU.net
>>45
んじゃPythonスレをプログラマ専用として活用してくれ
当然君はハイレベルだからPythonスレ行って、こっちのローレベルなスレには関わらないでくれるだろ?

48 :デフォルトの名無しさん:2018/04/29(日) 11:08:48.93 ID:uTtrmgKE.net
>>47
んー意味不明だね
どうしてVBAからPythonに飛んじゃったの?

49 :デフォルトの名無しさん:2018/04/29(日) 11:10:12.32 ID:hkCcAsD/.net
レベルが云々とかあまり関係なくね
ブラウザ自動化だの文字コード変換だのがExcelのやるべき仕事なのかって話で

50 :デフォルトの名無しさん:2018/04/29(日) 11:19:57.15 ID:cmKSXaTU.net
>>48
「関わり合いたくないだろう」とか言いながら、体裁よく追い出されそうになると焦るってなかなか可愛いな

一応答えておくと、Pythonスレが既にあって使われてないからだよ
あっちのスレなら外部連携の話したって支障ないだろうし、是非あっちの住人になってくれ
そしてこっちのスレを覗きさえしなければ君の望んだ環境になるだろ

51 :デフォルトの名無しさん:2018/04/29(日) 11:21:22.73 ID:cmKSXaTU.net
>>48
そういやURL無かったな

Excel Python 質問スレ
https://mevius.5ch.net/test/read.cgi/tech/1517018055/

52 :デフォルトの名無しさん:2018/04/29(日) 11:26:36.94 ID:uTtrmgKE.net
>>50
流れ理解してる?

53 :デフォルトの名無しさん:2018/04/29(日) 11:45:11.32 ID:OxSnUJcm.net
関わりたくないなら出ていけばいい、誰も拘束してないよ。
それにプログラマ専用VBAスレなんて過疎るの目に見えてる。
プロの現場でVBA使うって聞いたことないしな。
探せばあるのかもしれないけど。

54 :デフォルトの名無しさん:2018/04/29(日) 11:51:31.41 ID:c7H/x4nv.net
質問!
VBAって何のことですか?
全くわからないのでゼロから詳しく教えてください!

55 :デフォルトの名無しさん:2018/04/29(日) 11:52:56.51 ID:WGmi9FI0.net
プロは別格ってことで

プロがアドバイスくれるのはありがたいけど、
2chに来てドヤってるプロとかあまり想像したくはない

56 :デフォルトの名無しさん:2018/04/29(日) 12:18:58.04 .net
やっぱり俺の中じゃVBAとかRubyとかPythonとかって
本職の事務員やらプログラマやらテスターやらが
片手間に触るものというイメージしかないから
VBAのプロの話はぜひ聞きたいなあ

57 :デフォルトの名無しさん:2018/04/29(日) 12:40:03.64 ID:zGBQ9cx5.net
プロさん窮地に立たされるw

58 :デフォルトの名無しさん:2018/04/29(日) 14:24:38.72 ID:hAJLRgtx.net
MVC みたいに、データと表示を分離して、
TDD とか、ソフトウェア工学に基づいて作っていれば良いけど

エクセルエンジニアも、ソフトを作っている者とみなせば、
ソフトウェア工学やテスティング手法を学ぶ必要がある

基本は、データと表示を分離して、テスト可能にしないといけない。
依存性注入・dependency injection (DI)

59 :デフォルトの名無しさん:2018/04/29(日) 14:59:43.14 ID:cmKSXaTU.net
MVCとかのマクロよりも上位概念のものは全部Excel Pytyonスレに持って行こうぜ

60 :デフォルトの名無しさん:2018/04/29(日) 16:50:31.83 ID:muZOcw7V.net
早く助けて!
VBAって何ですか?

61 :デフォルトの名無しさん:2018/04/29(日) 17:33:55.74 ID:9UWCeKik.net
Visual BASIC for Applications
(ビジュアルベーシック・フォー・アプリケーションズ、VBA)は、マイクロソフト製のMicrosoft Officeシリーズに搭載されているプログラミング言語である

https://ja.wikipedia.org/wiki/Visual_Basic_for_Applications

62 :デフォルトの名無しさん:2018/04/29(日) 17:47:09.73 ID:tvmCKeNo.net
搭載?
どこかにあるんですか?
何ができるんですか?

63 :デフォルトの名無しさん:2018/04/29(日) 18:42:03.62 ID:j8doNKq/.net
頑張って皮肉を書いているだろうけど
VBAが何なのかわからない奴 はこのスレまで辿り着けないと思うぞw

64 :デフォルトの名無しさん:2018/04/30(月) 07:49:26.19 ID:a6pyjgPW.net
搭載の意味知らんだけやんかwプロさんw

65 :デフォルトの名無しさん:2018/04/30(月) 12:11:01.74 ID:7cXegnu0.net
>>10
コードを見ればすぐにHelloWorldに毛がはえたレベルとわかる。
それに対して本職だの言ってるお前のレベルもお里が知れるぞ。

66 :デフォルトの名無しさん:2018/04/30(月) 12:12:31.44 ID:7cXegnu0.net
>>13
アホ。
1回動かして終わりな場合も沢山あるんだよ。
VBAの場合は。
もちろんそうじゃない場合も沢山あるがな。

67 :デフォルトの名無しさん:2018/04/30(月) 12:15:02.51 ID:qiywFwa+.net
>>65
やれやれ

68 :デフォルトの名無しさん:2018/04/30(月) 12:20:41.54 ID:7cXegnu0.net
VBAは単にExcel、Access上で都合が良いから使ってるだけで、何かより上とか下とか、そういうもんじゃない。
Excel上で作業してる時に別の言語の話を持ち出されても困るんだよ。

Excel上にある表を加工する場合の方法なんて沢山あるが、Excel上で作業してる時に一番しっくりくるのはVBAなんだよ。

69 :デフォルトの名無しさん:2018/04/30(月) 13:26:37.51 ID:EYWg1Al3.net
インタラクティブかつ使い捨ての処理ってシェルやその他のスクリプト言語の得意分野だからexcelではやらんなぁ
excelが優位性を発揮する場面って表形式のデータを入力・編集する時ぐらいだろう
まあその場合でもVBAは使わんけど

70 :デフォルトの名無しさん:2018/04/30(月) 14:44:17.61 ID:0wPoBdag.net
エクセルに関するちょっとしたことをさせるために、実行環境を整えさせる手間を考えると、
VBAを使う以外の選択肢はないよ。

保存時にファイルのバックアップをリビジョンとして残すとか、VBA以外のなにでやれと

71 :デフォルトの名無しさん:2018/04/30(月) 14:46:38.63 ID:EYWg1Al3.net
え?gitでいいじゃん

72 :デフォルトの名無しさん:2018/04/30(月) 14:48:25.80 ID:EYWg1Al3.net
もっとも気軽に用意できる環境ってpowershellだと思うぞ
メニューからpowershell開くだけ

73 :デフォルトの名無しさん:2018/04/30(月) 15:13:55.54 ID:2XAlvibY.net
けっきょくRubyマンは、ここで構ってちゃんやる事に落ち着いたんだなw

74 :デフォルトの名無しさん:2018/04/30(月) 15:15:09.06 ID:2gOeUPtD.net
Excel自体を操作する場合はPowerShellやpython
VBAを使うのはユーザー定義関数を作るときぐらい
こんな感じで使い分けするようになった

75 :デフォルトの名無しさん:2018/04/30(月) 15:45:16.72 ID:ppsFRTOd.net
高性能よりもお手軽さを優先するのが一般人なんだよね
俺もそうなんだけど

76 :デフォルトの名無しさん:2018/04/30(月) 15:57:22.99 ID:EYWg1Al3.net
手軽なpowershellがいいね

77 :デフォルトの名無しさん:2018/04/30(月) 16:01:21.75 ID:JIBHQrev.net
世の中にはいまだにWin7で仕事してる奴がいてな

78 :デフォルトの名無しさん:2018/04/30(月) 16:01:34.63 .net
PowerShellってバージョンをかなり気にしなきゃいけなくて面倒なんだよね

Windows8.1/10で動くコードがWindows 7で動かなかったり

Excelのバージョンさえ気にしてればいいVBAが楽チン

79 :デフォルトの名無しさん:2018/04/30(月) 16:05:07.20 ID:JIBHQrev.net
って書いて
win7でpawarsell対応してるに始めて知って

80 :デフォルトの名無しさん:2018/04/30(月) 16:10:13.77 ID:JIBHQrev.net
ワシの事を「世間知らずの糞プログラマーが!!!」って言って言葉攻めしてくさい



それで逝きますのでな(´・ω・`)b

81 :デフォルトの名無しさん:2018/04/30(月) 16:16:47.94 ID:9DOSDrcb.net
ハード設計屋のオレがVBA使う理由は
職場の他の社員がそれくらいまでしか理解できないからだな

数万から数百万行のデータ使う時はVBAでは遅すぎるので
awkか面倒のはC#使うが、それだと後で自分しか使い回し出来ない
他の奴はテキストを小分けしてエクセル関数駆使してるわ

82 :デフォルトの名無しさん:2018/04/30(月) 16:21:09.95 ID:yTyfNq6A.net
>>81
DB使えよ...

83 :デフォルトの名無しさん:2018/04/30(月) 16:23:02.64 ID:9DOSDrcb.net
ちなみに本職のプログラマーに依頼すると
出来上がるのが数週間から数ヶ月掛かる、工数見積もり云々
今日、明日に結果が必要なのに

84 :デフォルトの名無しさん:2018/04/30(月) 16:24:42.48 ID:JIBHQrev.net
そりゃそうだ
合法的にぼったくりできるん奈良そうすると

85 :デフォルトの名無しさん:2018/04/30(月) 16:26:16.10 ID:JIBHQrev.net
要するに責任と責務と要求仕様のバランスやねん!(´・ω・`)b

86 :デフォルトの名無しさん:2018/04/30(月) 16:26:20.77 .net
>>83
それな
このスレにも出没しているが、そういうプロ(笑)は費用対効果という言葉を知らない

87 :デフォルトの名無しさん:2018/04/30(月) 16:31:09.30 ID:JIBHQrev.net
今中華料理やにいるんだけど
「餃子とpawar sell くれ」って言ったら
殺されたぞ

(´・ω・`)b

88 :デフォルトの名無しさん:2018/04/30(月) 16:38:10.85 ID:+6yJ25bv.net
>>81
大量データの扱いはSQLなりでやるんでしょ?言語関係なくない?

89 :デフォルトの名無しさん:2018/04/30(月) 16:44:31.62 ID:2gOeUPtD.net
結局の所自分が使える、今まで使ってきたツールが一番使いやすいし最高だって話でしょ
そしてそれ以外のツールは時間がないのかスキルが無いのか食わず嫌い

90 :デフォルトの名無しさん:2018/04/30(月) 16:48:17.42 ID:EYWg1Al3.net
VBAというかエクセルのタチの悪いところは他人に強制させられることだな
これさえなければ非効率でもやりたい奴の好きにしてくれと言えるんだが

91 :デフォルトの名無しさん:2018/04/30(月) 16:56:40.82 ID:+6yJ25bv.net
事務仕事でよくありがちなアプリって、
対象フォルダ2〜3個、対象ファイルを5〜6個並べた領域と、マクロボタン一個みたいな
パターンが多いだろ。
あとはSQL文書くところとかID・パスワード入力エリアとか。
そういう設定を保存しておくのにエクセルブック一つで十分。ていうか最適解だと思う。

92 :デフォルトの名無しさん:2018/04/30(月) 17:28:27.26 ID:EYWg1Al3.net
設定はテキストファイルで十分っていうか最適解でしょ

93 :デフォルトの名無しさん:2018/04/30(月) 17:39:37.37 ID:2XAlvibY.net
とりあえずVBAに直接関係ない話はExcel Pythonスレでやろうぜ

94 :デフォルトの名無しさん:2018/04/30(月) 17:51:12.06 ID:dZa8Dw2V.net
>>92
そのテキストファイルとアプリの関連をどう可視化するの?

95 :デフォルトの名無しさん:2018/04/30(月) 18:00:27.88 ID:EYWg1Al3.net
>>94
可視化ってなに?

96 :デフォルトの名無しさん:2018/04/30(月) 18:02:19.23 ID:dZa8Dw2V.net
>>95
「このアプリのこの設定を変えるにはこのテキストファイルのここをこう変えればいい」
をユーザーにどう明示できるか

97 :デフォルトの名無しさん:2018/04/30(月) 18:15:18.00 ID:EYWg1Al3.net
>>96
そのまんまじゃん
「この設定ファイルのこの項目をこう変えればいい」

つうかユーザーに納品するようなものVBAなんかで作らねえっての何度も言ってるよねぇ

98 :デフォルトの名無しさん:2018/04/30(月) 18:22:11.85 ID:vxB4xISW.net
こんにちは
お助けください。

\5,000

といったテキストを、

5000

と数字だけにしたいのですが、

Replace(hoge, "\", "")

とやっても置換されません。

やり方後教示お願いします。

99 :デフォルトの名無しさん:2018/04/30(月) 18:24:02.57 ID:2XAlvibY.net
>>98
セルの表示形式変えればいいんじゃないの

100 :デフォルトの名無しさん:2018/04/30(月) 18:25:44.02 ID:dZa8Dw2V.net
>>97
「納品」なんて言葉が出てくること自体
スレ違いって何度も指摘されているよね?

101 :デフォルトの名無しさん:2018/04/30(月) 18:26:48.62 ID:vxB4xISW.net
>>99
コメントありがとうございます。
ファイル等から配列に読み込んだデータなので、
データシートには移していないのです。

102 :デフォルトの名無しさん:2018/04/30(月) 18:29:28.12 ID:dZa8Dw2V.net
>>101
イミディエイトウィンドウ上で
?CInt("\5,000"), CDbl("\5,000")
とやると
5000 5000
て表示されるけど、これでいいの?

103 :デフォルトの名無しさん:2018/04/30(月) 18:31:56.38 ID:vxB4xISW.net
>>102
おー。ありがとうございます。
やってみます。

104 :デフォルトの名無しさん:2018/04/30(月) 18:35:19.93 ID:vxB4xISW.net
>>102

できました。ありがとうございます。助かりました。

105 :デフォルトの名無しさん:2018/04/30(月) 18:42:13.56 ID:gX+uTXPX.net
どんだけ力説して見ても具体例が出てこなきゃ無視されるだけ
そのユーザーに納品した実例を(タイトルやラベルとかは黒塗りでいいから)見せてみ
(そんなものがあるなら) 
まさか全編コマンドラインで手打ちじゃあるまい?
ユーザーが操作するGUI環境整えるには WPF とかってじゃないだろな?
で、それを設計するのに Visual Studio だとかってんじゃないだろな?

DOSベースのPCがWindows仕様にして飛躍的にシェア伸ばしたように
いかに人口に膾炙するか が肝要 ってトコを見逃すんなら、なんでも言えるし書ける

106 :デフォルトの名無しさん:2018/04/30(月) 18:47:25.40 ID:hWOoDFWY.net
>>88
SQLのLは何の略だと思ってるんだろう...

107 :デフォルトの名無しさん:2018/04/30(月) 18:47:53.44 ID:4eo3LVsx.net
>>97
なんども書かれてるのはプロはVBAなんて使わないってこと。
使ってるのはあなたの言うユーザー。
分かりやすい具体例は事務職など。
納品先など無いのだよ。

108 :デフォルトの名無しさん:2018/04/30(月) 18:55:09.17 ID:9DOSDrcb.net
>>88
そんなのデータの規模ではなくて、扱うデータの種類によると思う
自分のはpythonの数学ライブラリとかRで扱うようなデータが多いから

109 :デフォルトの名無しさん:2018/04/30(月) 19:06:15.98 ID:dZa8Dw2V.net
>>106
Structured Query Language の略だから言語の意味だけど?
クエリー言語とプログラミング言語を一緒にしてどうするの?

110 :デフォルトの名無しさん:2018/04/30(月) 19:08:29.22 ID:NgqiVBrR.net
>>108
なるほど

111 :デフォルトの名無しさん:2018/04/30(月) 19:33:45.09 ID:VNEaK4nF.net
なんやもうプロさんしかおらんなこのスレw

112 :デフォルトの名無しさん:2018/04/30(月) 19:51:26.10 ID:yTyfNq6A.net
>>109
> クエリー言語とプログラミング言語を一緒にしてどうするの?
一緒だろ?
SQL使ったことないのか?

113 :デフォルトの名無しさん:2018/04/30(月) 20:12:45.83 ID:EYWg1Al3.net
>>105
あーホンマもんの素人さんなんだ
開発情報なんてそう簡単に社外に持ち出せんのよ常識でわかるっしょ?

114 :デフォルトの名無しさん:2018/04/30(月) 20:54:24.18 ID:gX+uTXPX.net
>>113
逃げんなよ 具体例出してみ っつってんの 自社例出さんでもいいから
おれも WPF なんて今日初めて知ったレベルだ

https://cdn-ak.f.st-hatena.com/images/fotolife/I/Itsukara/20170402/20170402211150.png
https://cdn-ak.f.st-hatena.com/images/fotolife/I/Itsukara/20170402/20170402211402.png

http://itsukara.hateblo.jp/entry/2017/04/02/213525 ここの例だけどな
コマンドラインなのかGUIで片付けるのがぐらいも答えられんのか
それを納品してんだろ? 客ウケはどうなんだ? 大好評かどうかぐらい末端でも教えてもらえるだろ
もっと違うGUIあるなら、そおゆう情報流してこそだろ 
でなきゃ単なる陰湿な嫌がらせや間抜けな戯言に過ぎんぞ

115 :デフォルトの名無しさん:2018/04/30(月) 20:57:57.37 ID:dZa8Dw2V.net
>>112
さっぱり意味がわかりませんな。

VBAが遅い言語でもクエリで使うSQLはその影響を受けない。
なにが一緒だというんだ?「一緒」ってなんだよ?

116 :デフォルトの名無しさん:2018/04/30(月) 21:14:37.26 ID:EYWg1Al3.net
>>114
なんかアホみたいな勘違いしねえか?
客に出すものはVBAもPowerShellも使わねえよ
常識で考えてわかると思うけどね
最近はほとんどC#とJavaでUIはブラウザが多い

PowerShellを使うのは個人用のツールな
こっちは9割以上CUIでGUIが欲しい時はFormsやWPFを使う

117 :デフォルトの名無しさん:2018/04/30(月) 21:39:28.70 ID:URWX118v.net
客に出すものっていうか、元々Excelで納品って仕事も有るけどな。

というかExcel操作するのにPythonとか言ってる奴とは仕事したくないな。
Excelファイル出力とかならわかるけど。

dll作ってExcelから呼び出すことも有るけど、そういうのって苦肉の策なんだね。
本来ならExcel上で完結すべきだろ。
それがExcel上では出来ないとか、その処理においてはスピードがどうにも遅くて仕方なくやるもんで、積極的にやるもんじゃない。

じゃあ、どうしてもVBAでは出来ないとかどうしても遅いとか言ってる奴が本当に分かってて言ってるかと言えば、単にそいつのスキルが低いだけという場合も結構ある。

118 :デフォルトの名無しさん:2018/04/30(月) 21:46:53.02 ID:yTyfNq6A.net
>>115
頭大丈夫か?
>>81から読み直せよ
でかいデータの時にawk やC#を使う話にお前がSQLとか言い出してる
C#とSQLってプログラム言語のくくりだと同じだぞ

119 :デフォルトの名無しさん:2018/04/30(月) 21:48:43.79 ID:URWX118v.net
>>116
PowerShellだってGUIのプログラム書けると思うけど。
まあ、それはかっこ悪いか。
なぜC#があるのにPowerShellを使うのか?ということになるからな。

でも開発環境入れられる仕事ばかりじゃ無いから苦肉の策でPowerShellってのも有りかも知れない。

結局、その場に合った物を使うということだろ。

120 :デフォルトの名無しさん:2018/04/30(月) 21:53:49.94 ID:dZa8Dw2V.net
>>118
でかいデータをawkやC#で直接扱うわけじゃないだろ?
でかいデータは「プログラミング言語」じゃなくて「クエリ言語」であるSQLで扱うんだろ?
ってのが>>88の意図だ。
それに対して「そうじゃない」という反論は出ていない。だからその線で話しているわけだが?

121 :デフォルトの名無しさん:2018/04/30(月) 21:54:14.99 ID:URWX118v.net
>>118
デカイデータの時にawkとかC#ってのがよく分からんな。
そのデータってのがExcelとどう関係するんだ?

Excelで扱うデータでシートに入れるようなものならExcelの方が良いだろ。

122 :デフォルトの名無しさん:2018/04/30(月) 22:30:15.66 ID:swT07kN/.net
もういい加減、荒らしだってことに気づいて欲しい

123 :デフォルトの名無しさん:2018/04/30(月) 22:34:21.00 ID:yTyfNq6A.net
>>120
> でかいデータをawkやC#で直接扱うわけじゃないだろ?
それは>>81に聞いてくれ

> でかいデータは「プログラミング言語」じゃなくて「クエリ言語」であるSQLで扱うんだろ?
クエリ言語ってプログラム言語の一種だよ...
いろいろ思い込みが激しすぎるんじゃね?

124 :デフォルトの名無しさん:2018/04/30(月) 22:38:03.61 ID:6VH5WEVh.net
adodbStreamを使って、jisコード(ISO-2022-JP)で書かれたテキストファイルを読み込んで色々するマクロを作っています
対象のテキストは1行120バイトのレコードが何行も含まれるという体裁になっているファイルです
このファイルを入力ファイルに指定したところ、なぜか3行目のみ最初の12バイト分が読み込まれません
レコードの内容を変えて何度か試してみたのですが、決まって3行目のみ行頭の12バイトが抜け落ちてしまいます
adodbを使う際に何か必要なことがあるのでしょうか?

125 :デフォルトの名無しさん:2018/04/30(月) 22:38:58.58 ID:yTyfNq6A.net
>>121
> デカイデータの時にawkとかC#ってのがよく分からんな。
それは>>81に聞いてくれ

> Excelで扱うデータでシートに入れるようなものならExcelの方が良いだろ。
処理内容によるとしか言えない

126 :デフォルトの名無しさん:2018/04/30(月) 22:40:13.46 ID:473Ph94t.net
ないよ
再現するコードとサンプルデータ貼っとけば早いんじゃね

127 :デフォルトの名無しさん:2018/04/30(月) 22:46:03.65 ID:dZa8Dw2V.net
>>123
>クエリ言語ってプログラム言語の一種だよ...

かなり違うと思うよ。
「違う」というのは、プログラミング言語の選択とクエリ言語の選択が直交している
という意味で言っている。

128 :デフォルトの名無しさん:2018/04/30(月) 22:50:53.98 ID:dZa8Dw2V.net
>>124
>レコードの内容を変えて何度か試してみたのですが

じゃあ例えば1行目の内容と全く同じものを10行繰り返しても
3行目だけおかしいの?

129 :デフォルトの名無しさん:2018/04/30(月) 22:54:51.03 ID:URWX118v.net
>>125
そう。
処理内容によるのに、しかもExcel内の作業ならVBAの方が有利なことも多いのに、どうしてなんでもかんでもかたくなに否定するのか分からん。

そういう頭の堅い奴は、最適なものを選ぶというセンスが無いんだろうな。

PowerShellとか言ってる奴も意味分からん。
Excel.Application使ってるならVBA使ってるということだと思うんだがなあ。

130 :デフォルトの名無しさん:2018/04/30(月) 22:57:06.73 ID:yTyfNq6A.net
>>127
それ君の思い込みでしょ
VBAからC++で書いたdllにデータ処理させるのと、VBAからSQL発行してDBMSにデータ処理させるのと何が違うと言うんだ?

131 :デフォルトの名無しさん:2018/04/30(月) 23:02:27.95 ID:yTyfNq6A.net
>>129
> 処理内容によるのに、しかもExcel内の作業ならVBAの方が有利なことも多いのに、どうしてなんでもかんでもかたくなに否定するのか分からん。
簡単に使えると言うこと以外でVBAが有利な点なんてたいしてない
規模が大きくなるほど短所が目立ってくるし

> そういう頭の堅い奴は、最適なものを選ぶというセンスが無いんだろうな。
ブーメラン刺さってるぞ w

> Excel.Application使ってるならVBA使ってるということだと思うんだがなあ。
さすがにその認識には同意できない
ExcelのCOMがVBAで書かれてる訳じゃないし

132 :デフォルトの名無しさん:2018/04/30(月) 23:05:37.73 ID:EYWg1Al3.net
>>129
まあ君はちょっとExcel VBA以外の世界も知ったほうがいいとは思う

133 :デフォルトの名無しさん:2018/04/30(月) 23:06:52.92 ID:swT07kN/.net
VBAは使えないって人はこのスレ自体を全否定してるわけだから、もう来なければいいのに

134 :デフォルトの名無しさん:2018/04/30(月) 23:28:47.25 ID:dZa8Dw2V.net
>>130
同じだよね
だからプログラム言語についてはどれを選ぼうとも、
クエリー性能は大して変わらんだろと>>88の段階から
言ってるじゃないか???

135 :デフォルトの名無しさん:2018/04/30(月) 23:42:40.97 ID:URWX118v.net
>>131
>>132
もしかして本当に頭悪いの?
Excelのオブジェクトを扱うのに最適というのが最大の有利な点だろ。
Excelのファイル単体でという制限をかけるだけで他の言語全滅じゃねーか。

秀丸の機能を拡張するのに秀マクロが有利な点は無いと言ってるようなもんだ。

136 :デフォルトの名無しさん:2018/04/30(月) 23:43:43.66 ID:79M9OXD4.net
>>128
あー
全く同じのレコードでは試してないですね
最初の12バイトが欠落するので、最初の12バイトは1-4行目まで同じ内容にしてみたんですが、それでも3行目のみ欠落しました

もうGW入ってしまったのでサンプル引っさげての質問はまた来週にお願いすることにします

137 :デフォルトの名無しさん:2018/05/01(火) 00:03:13.05 ID:n2aDkIog.net
>>135
オブジェクト指向も半端にしかサポートしてないVBのクソ文法で最適とはちょっとな

データとプログラムは混ぜないで欲しいからVBAは無しでって言われたらVBA終わりじゃん
そういうバカバカしい制限を仮定する意味はないな
そもそも個人利用だから制限する理由もない

秀丸なんかマクロ組んでも大したことねえ
そんなのやめてもっと生産性高いエコシステム使おうぜって話な

138 :デフォルトの名無しさん:2018/05/01(火) 01:11:15.38 ID:vrT8pQgC.net
>>135
Excelのオブジェクト触るのはCOM使える言語ならできるので
ワークブックにマクロとして埋め込む必要のあるVBAが最適とは言えない
内輪のツールならともかく、他所向けにマクロ入りワークブック渡したら普通気持ち悪がられる
少なくとも俺は他人が作ったマクロ入りワークブックは気持ち悪いと思っている

139 :デフォルトの名無しさん:2018/05/01(火) 01:39:29.59 ID:Jo6zEwE8.net
マクロブックで気持ち悪いなら、どこの馬の骨が作ったとも分からない自作プログラムの方がよっぽど気持ち悪いだろw

140 :デフォルトの名無しさん:2018/05/01(火) 05:26:46.36 ID:jueZ4+qW.net
お前が気持ち悪かろうがどうだろうが知ったことか
普通の人間はそれで自分の仕事ができりゃ文句ないんだよ

141 :デフォルトの名無しさん:2018/05/01(火) 05:45:01.42 ID:Bc26VZi4.net
>>134
> だからプログラム言語についてはどれを選ぼうとも、
> クエリー性能は大して変わらんだろ
えっ?
C++で書いたコードとSQLの性能が同じってどこから言えるんだ?
俺が同じって言ってるのはVBAから呼び出すサブルーチンとしては(記述する言語が違うだけで)機能としては同じと言ってるだけで性能の話なんてしてない

142 :デフォルトの名無しさん:2018/05/01(火) 05:57:03.28 ID:Bc26VZi4.net
>>135
> Excelのオブジェクトを扱うのに最適というのが最大の有利な点だろ。
だから処理内容によってはそれを上回るデメリットが目立ってくるって話
さすがにVBAは設計も古いし言語としては最もいい言語とは言えない
あと>>137も書いてるけどデータとプログラムコードが一体になってるのは便利だけど例えば社内に配布してるExcelファイルのコードだけ修正したい時に面倒なことになる

143 :デフォルトの名無しさん:2018/05/01(火) 06:16:57.61 .net
>>142
わざわざ*.basファイルや*.frmファイルだけエクスポートしてバージョン管理したり
各部署の担当者がVBAコードだけマージしたり一応運用できてはいるけど面倒だね

144 :デフォルトの名無しさん:2018/05/01(火) 06:40:21.83 ID:QCFF/tmb.net
Googleスプレッドシートに移行するかな

145 :デフォルトの名無しさん:2018/05/01(火) 06:45:51.96 ID:wEM4Z1OO.net
VBAが使えない、他のが良いってならそろそろそのもっと便利な言語のスレに移動してくれよ。
荒らしでしかねーよ。

146 :デフォルトの名無しさん:2018/05/01(火) 06:52:48.09 ID:Jo6zEwE8.net
本気で別の言語がいいと思ってるわけじゃなくて、
構ってくる相手が居なくて寂しいからウザ絡みしてきてるだけだから何言っても無駄

147 :デフォルトの名無しさん:2018/05/01(火) 07:25:38.90 ID:pz418p4m.net
>>143
バージョン管理は面倒とは言えこっちでやる話だからまだいいけど利用者にコード部分を更新させるのが大変
>>135はそういう経験が無さすぎ

148 :デフォルトの名無しさん:2018/05/01(火) 11:57:12.13 ID:qtX5HV4u.net
.xlamでいいんじゃね

149 :デフォルトの名無しさん:2018/05/01(火) 12:05:07.52 ID:n2aDkIog.net
Excelマクロ配布は面倒
イントラサービス展開したほうがいい

150 :デフォルトの名無しさん:2018/05/01(火) 13:57:43.74 ID:qtX5HV4u.net
>>137
データとブログラムは分離したいのでワークシートに業務データは置かないでね。

となるべきでは?

151 :デフォルトの名無しさん:2018/05/01(火) 13:57:53.11 ID:LR2WXBGb.net
VBAでまともに開発できなかったから、VBAをけなすしかないかわいそうなアホがいるな
システム設計能力もプログラム設計能力も足りてないし
趣味でやってるんじゃないなら転職した方が良いよ

152 :デフォルトの名無しさん:2018/05/01(火) 14:21:11.05 ID:n2aDkIog.net
平凡なプログラマの仕事から考えるとVBAではまともに開発できないってのは事実だね
スキルが足りないとかそんなバカバカしい理由じゃなく
VBAというプラットフォームが貧弱すぎて並の業務システムとしての利用に耐えられない
VBAでまともに開発できると思ってる人は本人が考えるよりもかなり小規模なシステムしか組んだことがないんだろう

153 :デフォルトの名無しさん:2018/05/01(火) 14:33:30.91 ID:qtX5HV4u.net
仕事で使う != 業務システム

という前提なんじゃないかな、このスレのみんなは

154 :デフォルトの名無しさん:2018/05/01(火) 14:36:33.47 ID:pz418p4m.net
>>151
ソフトウェアだから開発できるできないの話になればそりゃできるよ
ただもっとモダンな言語なら簡単にできることを長々とコーディングしたりいろいろ面倒ってこと
要するにできない奴がいると思ってるお前の見識が無さすぎるだけ

155 :デフォルトの名無しさん:2018/05/01(火) 14:56:57.02 ID:Jo6zEwE8.net
VBAで長々とコーディングしなければならず、かつ他の言語でも達成可能な事を書くって前提が既にアホが極まってる
VBAでやる事はVBAで短くサクッと書ける事に限定されるに決まってんだろw

156 :デフォルトの名無しさん:2018/05/01(火) 14:58:00.32 ID:n2aDkIog.net
例えばどんな処理?

157 :デフォルトの名無しさん:2018/05/01(火) 15:05:45.90 ID:pz418p4m.net
>>155
> VBAでやる事はVBAで短くサクッと書ける事
だからそれ以上の場合はどうするんだって話
知らないなら黙ってなよ

158 :デフォルトの名無しさん:2018/05/01(火) 15:12:53.07 ID:cSjrPdPw.net
元来Excel VBAでやってた自動化作業は全部rubyでやるようになったんだけど
ユーザー定義関数だけは移行できないからpythonには期待している

159 :デフォルトの名無しさん:2018/05/01(火) 15:15:40.26 ID:Jo6zEwE8.net
>>157
それ以上の事をする人間がVBAしか扱えないわけないだろ
お前は本当に何も知らないんだなぁ

160 :デフォルトの名無しさん:2018/05/01(火) 15:19:08.59 ID:pz418p4m.net
>>159
お前はいったい何を言ってるんだ?
話の流れも理解できてないのかよ w

161 :デフォルトの名無しさん:2018/05/01(火) 15:23:39.78 ID:Jo6zEwE8.net
>>160
お前が「それ以上の時はどうするんだよ」って言ったんだろ、それも覚えてられないのか
まぁお前って無能そうだもんなw 仕方ないかw

162 :デフォルトの名無しさん:2018/05/01(火) 15:35:06.14 ID:pz418p4m.net
アホだこいつ w
処理内容と環境とお前の実力で使う言語決めればいいだけだろ
なんでもかんでもVBAが最適じゃないって話
VBAしか使えない奴のことなんて知ったこっちゃないしな

163 :デフォルトの名無しさん:2018/05/01(火) 15:42:29.57 ID:Jo6zEwE8.net
如何なる状況においてもVBAが最適なんて話は誰もしてねぇだろw
エクセルでやりたい処理をサクッと作れるのがVBAって何度も言われてるだろ、覚えてらんねぇんだなw
まぁ適切なスレすら選べずVBAスレで見当違いの無駄な話をずっとしてるヤツらしいっちゃらしいけどさぁ

164 :デフォルトの名無しさん:2018/05/01(火) 15:50:18.44 ID:cSjrPdPw.net
話の流れよくわかんないけどrubyのほうがサクッと作れる
いやほんとに

165 :デフォルトの名無しさん:2018/05/01(火) 15:55:34.02 ID:mFOe5hVq.net
>>149
アドインマクロ配布でいいんじゃね?

166 :デフォルトの名無しさん:2018/05/01(火) 16:01:41.40 ID:pz418p4m.net
>>163
だからお前はVBAに閉じ籠ってろよ
低能の話はどうでもいい

167 :デフォルトの名無しさん:2018/05/01(火) 16:14:03.63 ID:qtX5HV4u.net
ほとんどの状況でVBAが最適である(キリッ
ただし業務データはOracleやSQLServerにある環境で。

168 :デフォルトの名無しさん:2018/05/01(火) 16:17:47.89 ID:Jo6zEwE8.net
>>166
「VBAでめちゃくちゃ長いコーディングするかも!」ってバカみたいな想定して、
VBAスレにずっと粘着してるヤツがなんか言ってるw
まぁお前って覚えるの苦手だから自分が矛盾している事にも気がつけないんだよな

169 :デフォルトの名無しさん:2018/05/01(火) 16:24:00.82 ID:pz418p4m.net
>>168
> 「VBAでめちゃくちゃ長いコーディングするかも!」ってバカみたいな想定して、
バカは仮定の元に議論すると言うことすら理解できないらしい w

170 :デフォルトの名無しさん:2018/05/01(火) 16:26:58.21 ID:Jo6zEwE8.net
>>169
お前は知識ないから、どんな仮定が無意味かも判断つかないんだなw

171 :デフォルトの名無しさん:2018/05/01(火) 16:45:30.31 ID:pz418p4m.net
バカは背理法も知らんらしい w

172 :デフォルトの名無しさん:2018/05/01(火) 16:57:12.26 ID:Jo6zEwE8.net
>>171
お前たぶん分かりやすく説明する為の例え話を聞かされたせいで「背理法」を勘違いしてるぞw

173 :デフォルトの名無しさん:2018/05/01(火) 17:08:15.90 ID:pz418p4m.net
理解できないなら無理するな w

174 :デフォルトの名無しさん:2018/05/01(火) 17:20:43.73 ID:Jo6zEwE8.net
お前はこれまでもこれからも、そうやってずっとバカを晒し続けていくんだろうなw

175 :デフォルトの名無しさん:2018/05/01(火) 17:22:46.92 ID:pz418p4m.net
うん、バカ(=ID:Jo6zEwE8)を晒していくよ w

176 :デフォルトの名無しさん:2018/05/01(火) 17:31:25.21 ID:cSjrPdPw.net
もう2人付き合っちゃいなよ

177 :デフォルトの名無しさん:2018/05/01(火) 17:47:51.39 ID:qtX5HV4u.net
>>164
そもそもどういう処理?
主なユーザーは自分?

178 :デフォルトの名無しさん:2018/05/01(火) 17:57:39.01 ID:n2aDkIog.net
VBAが最適なんてことはそうそうないんだよね

179 :デフォルトの名無しさん:2018/05/01(火) 18:01:11.51 ID:cSjrPdPw.net
>>177
自分用の定型処理とか書捨てマクロとか

他人に使ってもらうようなのはもっぱらJScriptだな
処理したいExcelだけ開いてこのファイルダブルクリックしてで説明が済むので

180 :デフォルトの名無しさん:2018/05/01(火) 18:40:54.89 ID:jueZ4+qW.net
このスレがだぁ〜って伸びてる時は、大概くっそくだらねぇ話で揉めてる時…と思って
見たらやっぱりそうだった w

181 :デフォルトの名無しさん:2018/05/01(火) 18:51:19.92 ID:n2aDkIog.net
クソくだらん話題でもないと書くことねえしなVBA

182 :デフォルトの名無しさん:2018/05/01(火) 18:56:05.66 ID:qtX5HV4u.net
オレオレライブラリが充実してくればVBAでも十分最適解に近づくさ
どう最適かというと、「あまりコードを書く必要がなくなる」ってとこかな

183 :デフォルトの名無しさん:2018/05/01(火) 19:23:54.19 ID:oyZWZ8lH.net
プロさんんの熱弁中にさしでがましいようですが元々マクロ言語はあまりコードを書く必要がないんですよねw
でもまあ書きますよねコードwなんせプロさんですからねwww

184 :デフォルトの名無しさん:2018/05/01(火) 19:32:52.10 ID:n2aDkIog.net
そう
コード記述量少ないほうが良い
なので同じことをやるのに冗長な記述が必要なVBAは残念

185 :デフォルトの名無しさん:2018/05/01(火) 19:52:38.83 ID:oyZWZ8lH.net
>>184
またまたぁwマクロ言語なのに冗長な記述が必要になるわけないじゃないですかぁw
プロさんのくせに謙遜しちゃってwww

186 :デフォルトの名無しさん:2018/05/01(火) 20:44:13.71 ID:meZaITri.net
数レスでさっくり要約できない奴に何書かれてもな 成果が推し量れるってもんだ
おれが客や上司ならこういうのには頼まねえわ タダでも断る   ところで
Excel VBA 「質問」スレ で何したいんだ?

187 :デフォルトの名無しさん:2018/05/01(火) 21:08:03.62 ID:y31WNwcJ.net
さあ?

質問が少なくて下らん話題しかないように見えても、
誰に強制されているわけじゃない。需要と供給の結果だ。
現にオレはこういう流れが好きだけど?

188 :デフォルトの名無しさん:2018/05/01(火) 21:34:48.85 ID:zzZAzy9g.net
なんか、本当に頭が悪いんだな。
勝手に人をVBAしか触らないかのように認定してくるし。

全て逆。
その時に合ったのを使えば良いと言ってる。
VBAがどんな場合でも良いなんて最初から言ってない。
ブック単体で済むんだから、別途ファイルを必要とする他言語より有利なんだよ。
Excel上ではな。
でもExcel上でも場合によっては他言語を採用することも当然あり得る。
色んな場合がある。
それをお前らは何とかしてどんな場合でもVBAを否定しようとするからおかしくなる。

Excel.Application触ってもVBAじゃ無いならC++でdll作ってそれをVBAで使ったら、それは全てVBAってことか?

バカを相手にすると話が不毛だなw

189 :デフォルトの名無しさん:2018/05/01(火) 22:00:11.35 ID:QCFF/tmb.net
状況に合わせて適当な道具を選ぶだけなのに。
万能な道具なんてないんだからさ

190 :デフォルトの名無しさん:2018/05/01(火) 22:03:41.92 ID:y31WNwcJ.net
>>189
そんなスキルなんて、あるの?
俺にはないな。せいぜい2〜3の言語。
たいていそんなもんじゃないか?

191 :デフォルトの名無しさん:2018/05/01(火) 22:25:23.37 .net
んなこたあない

192 :デフォルトの名無しさん:2018/05/01(火) 22:41:54.95 ID:pz418p4m.net
>>190
言語はもうちょい使えるけどExcel使うのにVBA以外だとインストールの手間とかもあるからC++, C#, VBScript, JScript, PowerShell, SQL辺りかな
今更VBScript, JScriptでもないだろうからガッツリ組むならC++、お手軽にやるならPowerShellかな
データがでかいならSQL一択
C#は意外と面倒だからあまり使わない

193 :デフォルトの名無しさん:2018/05/01(火) 22:58:35.04 ID:y31WNwcJ.net
>>192
ガッツリ組むならC++ ← わかる
ガッツリ組まれたアプリでExcelが使われる ← わからない

Excel君はどういう役回りなんだ?

194 :デフォルトの名無しさん:2018/05/01(火) 23:03:48.61 ID:wEM4Z1OO.net
SQLをそこに並べるあたりでお里が知れますよw

195 :デフォルトの名無しさん:2018/05/01(火) 23:20:08.80 ID:vrT8pQgC.net
インストールの手間を嫌うのにC++が候補に入ってる時点でお察し

196 :デフォルトの名無しさん:2018/05/01(火) 23:21:25.88 ID:pz418p4m.net
>>193
色々な理由で入出力をExcelでやらざるを得ないと言うのはままあるから

197 :デフォルトの名無しさん:2018/05/01(火) 23:24:06.78 ID:pz418p4m.net
>>195
開発者の手間と利用者の手間の区別もつかないの?
この板見てる奴なら説明しなくてもわかると思ったが想像以上にレベルの低い奴もいるんだな w

198 :デフォルトの名無しさん:2018/05/01(火) 23:42:30.76 ID:n2aDkIog.net
powershellでほぼ全て解決するんだよなぁ

199 :デフォルトの名無しさん:2018/05/01(火) 23:52:39.18 ID:y31WNwcJ.net
>>196
入出力をExcelで ← わかる
自分の場合は積極的にExcelを入出力に使うけど

>>197
開発者の手間と利用者の手間の区別 ← わかる

>>192
データがでかいならSQL一択  ← わからない
この主張はおかしい

200 :デフォルトの名無しさん:2018/05/02(水) 00:02:07.93 ID:L9GyYkUx.net
powershellヲタ rubyヲタ

笑ってしまう
ここはVBAのスレだっての

201 :デフォルトの名無しさん:2018/05/02(水) 00:11:41.71 ID:Ea+zdgS5.net
VBAしか寄る辺のないガイジ

202 :デフォルトの名無しさん:2018/05/02(水) 00:14:18.27 ID:HOwZM2hm.net
powershellでどういう入出力やるんだろうね
それとも入出力なしなのかな

203 :デフォルトの名無しさん:2018/05/02(水) 04:56:26.19 ID:3K4Hzh4Z.net
>>199
> データがでかいならSQL一択  ← わからない
別に君にわかってほしいわけじゃないから w

204 :デフォルトの名無しさん:2018/05/02(水) 04:59:30.10 ID:3K4Hzh4Z.net
>>202
意味がわからん
PowerShellにも入出力機能はあるしこのスレ的にはExcelを介してやればいいだけだし

205 :デフォルトの名無しさん:2018/05/02(水) 06:51:23.39 ID:DRXeGDYK.net
>>204
このスレはEXCEL VBAのスレなんですけどね。
スレタイすらわからなくなったらしい。

206 :デフォルトの名無しさん:2018/05/02(水) 07:29:52.45 ID:mmvbcsvJ.net
PS好きだしVBA嫌いだけど
流石にスレチが過ぎるよ

207 :デフォルトの名無しさん:2018/05/02(水) 09:34:00.75 ID:8abGMC3I.net
VBAの代替手段を考えるならVBAスレの範疇だろう

208 :デフォルトの名無しさん:2018/05/02(水) 09:38:35.78 ID:L9GyYkUx.net
>>207
必死にpowershellに持っていきたいpowershellクソヲタ   ( ´,_ゝ`)プッ

209 :デフォルトの名無しさん:2018/05/02(水) 09:52:05.42 ID:8abGMC3I.net
かわいそうに煽ることしかできなくなったか
VBAの優位性を説くとか出来んの?

210 :デフォルトの名無しさん:2018/05/02(水) 10:02:31.95 ID:uT5kWpPZ.net
もういいよ、VBAの優位性とか>>135みたいなクソレスを何度も書かれてもウザイだけだし

211 :デフォルトの名無しさん:2018/05/02(水) 10:23:36.50 ID:SduclJbS.net
>>207
>VBAの代替手段を考えるならVBAスレの範疇だろう

インテリセンスが効く環境をExcel以外何もインストールしなくても使える物ってなんか出た?

212 :デフォルトの名無しさん:2018/05/02(水) 10:30:20.92 ID:8abGMC3I.net
>>211
powershellのインテリセンスは強力だぞ
コード解析だけじゃなく属性やスクリプトでインテリセンスを拡張できる
ま、拡張しないデフォルトでも十分だけどな

213 :デフォルトの名無しさん:2018/05/02(水) 10:31:27.57 ID:8abGMC3I.net
もしかしてVBAってインテリセンスしか誇るところないの?
まさかね

214 :デフォルトの名無しさん:2018/05/02(水) 10:47:32.19 ID:2YeotSUG.net
インストールの手間問題って以下の認識でいるんだけど合ってる?

・ユーザー環境についてであり開発側は数や頻度が知れてるから問題ではない
・権限を要するインストールのことでありdllの配布とかは問題ではない

215 :デフォルトの名無しさん:2018/05/02(水) 11:07:32.03 .net
>>214
DLLだって一つあるのと無いのじゃサポートの手間が違うから無いにこしたことはないよな

216 :デフォルトの名無しさん:2018/05/02(水) 11:48:27.30 ID:2YeotSUG.net
>>215
そうっすね....
.xlamと同じことだし別に、って思ってた
共有して1ファイルで済むし

217 :デフォルトの名無しさん:2018/05/02(水) 11:53:04.55 ID:2J5Gt0oH.net
そもそもVBAの代替手段を考えるのはVBAスレの範疇ではない
むしろちょっと前まで「VBAこそ至高、VBAのみがこの世の全て」という前提で、
仮にVBAにとって無茶ぶりでも、あくまでVBAとして答えるって形だったのに

218 :デフォルトの名無しさん:2018/05/02(水) 12:23:32.43 ID:2YeotSUG.net
代替じゃなくてパワーアップならおk

219 :デフォルトの名無しさん:2018/05/02(水) 12:33:07.43 ID:SduclJbS.net
>>213
こんだけ騒いでパワーシェルだけ?
まさかねw

220 :デフォルトの名無しさん:2018/05/02(水) 12:35:16.88 ID:SduclJbS.net
>>214
VBAはユーザーと開発者が同一の場合が多いだろ?
要は事務職とかが使いたいように使ってるだけ。
事務職のパソコンになんでも好きにインストールしてくださいって会社あるの?

221 :デフォルトの名無しさん:2018/05/02(水) 13:44:48.19 ID:yWo23RDI.net
あるよ

222 :デフォルトの名無しさん:2018/05/02(水) 14:23:37.82 ID:2J5Gt0oH.net
中小企業だと管理がガバガバでWin10が勝手にアップデートされて起動しなくなったなんて話もあったからな
そういう所なら勝手にIDE入れて金の掛からない範囲で好き勝手出来て楽しそう

223 :デフォルトの名無しさん:2018/05/02(水) 14:33:39.26 .net
>>222
従業員xx万人レベルの大企業グループでもわりとガバガバなところはある
WSUSにつながらないときは各自Microsoftのサーバにつなげろとアナウンスされたりとか

224 :デフォルトの名無しさん:2018/05/02(水) 14:56:25.07 ID:2YeotSUG.net
>>220
事務員ってもVisual StudioやManagement Studioくらい部門に数人は申請して入れてるよ。
ただインストール権限まで持ってる訳じゃないから、ユーザー各人の環境はいじりづらい。

225 :デフォルトの名無しさん:2018/05/02(水) 18:38:21.82 ID:sTDjib3H.net
>>220
IT系の企業なら開発環境とかを申請してインストールできるのは珍しくない

226 :デフォルトの名無しさん:2018/05/02(水) 18:48:11.36 ID:OevC1MDQ.net
またプロさんかw仕事中に遊んでんじゃねーよw
開発ごっことかお家に帰ってからやれよw

227 :デフォルトの名無しさん:2018/05/02(水) 18:58:35.67 ID:HOwZM2hm.net
いやむしろ全員開発体制になってほしい

228 :デフォルトの名無しさん:2018/05/02(水) 19:22:29.64 ID:BhQrl7gl.net
>>226
>開発ごっことかお家に帰ってからやれよw

マジでそういう煽りやめろ。

229 :デフォルトの名無しさん:2018/05/02(水) 19:33:26.41 ID:OevC1MDQ.net
>>228
煽りてw苦言を呈しとるのだがプロさんには煽りに聞こえるかw
おまえらの開発ごっこなんか会社にとって百害あって一理なしやぞw

230 :デフォルトの名無しさん:2018/05/02(水) 19:37:44.31 .net
>>226
今日はたいていの大手は休みだよw

231 :デフォルトの名無しさん:2018/05/02(水) 19:38:56.12 ID:OevC1MDQ.net
>>230
おまえガチのバカやなw

232 :デフォルトの名無しさん:2018/05/02(水) 19:43:33.18 ID:8abGMC3I.net
確かにVBAはごっこ遊びに最適かもしれん
使い道が残っていたか

233 :デフォルトの名無しさん:2018/05/02(水) 19:47:40.06 ID:OevC1MDQ.net
>>232
おまえの使い道はないけどなプロさんw

234 :デフォルトの名無しさん:2018/05/02(水) 19:50:23.51 ID:A9SfvTcd.net
自己使用のVBAなんて家に帰ってからやってくれ
仕事中は仕事しよ

235 :デフォルトの名無しさん:2018/05/02(水) 19:56:06.47 ID:OevC1MDQ.net
>>234
マクロ作ってる事務員のおねーさんは仕事やぞ
おまえのVBAは遊びやけどプロさんw

236 :デフォルトの名無しさん:2018/05/02(水) 20:10:45.32 ID:HOwZM2hm.net
遊びの要素が少しくらいあってもいいからみんなでプログラミングしようぜ

237 :デフォルトの名無しさん:2018/05/02(水) 20:16:02.61 ID:8abGMC3I.net
でも事務員さん最初から最後までお遊びだよね

238 :デフォルトの名無しさん:2018/05/02(水) 20:30:41.60 ID:OevC1MDQ.net
>>237
あれがお遊びてプロさん仕事した事ないやろw

239 :デフォルトの名無しさん:2018/05/02(水) 20:39:03.39 ID:8abGMC3I.net
お遊びのことを仕事っていうならないねぇ
仕事中はオモチャで遊んでないで真面目に働くもんだろう

240 :デフォルトの名無しさん:2018/05/02(水) 20:43:27.87 ID:A9SfvTcd.net
VBAをゴチョゴチョ書いてるくらいで仕事してますって言われてもねぇー
そんな程度の事は家でサクッとやって仕事中に走らせれば充分でしょ

241 :デフォルトの名無しさん:2018/05/02(水) 20:53:26.77 ID:OevC1MDQ.net
>>239
はいはいつまり仕事した事ないんやろw
もっと端的なものの言い方覚えんと就職できんよプロさんw

242 :デフォルトの名無しさん:2018/05/02(水) 20:54:40.22 ID:OevC1MDQ.net
>>240
おっとプロさんwおままごとはお家の中だけにしてねw
会社にやっかい事は持ち込まんでねプロさんw

243 :デフォルトの名無しさん:2018/05/02(水) 21:05:22.73 ID:A9SfvTcd.net
プロさんwって何?

244 :デフォルトの名無しさん:2018/05/02(水) 21:11:18.56 ID:OevC1MDQ.net
>>243
そらおまえみたいなバカにされやすい人の事に決まっとるやろプロさんw

245 :デフォルトの名無しさん:2018/05/02(水) 21:12:41.58 ID:HOwZM2hm.net
>>239
いや、遊んでてもいいんだよ

246 :デフォルトの名無しさん:2018/05/02(水) 21:13:57.11 ID:4Vsk9Yl1.net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 2016

247 :デフォルトの名無しさん:2018/05/02(水) 21:19:29.28 ID:4Vsk9Yl1.net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 2016

すみません 書き込んでしまいました。
Win10のIMEが変更されて、ON/OFF切り替え時にモニタ真ん中に[あ] [A] と
出るようになりました それはそれで便利なときもあるんですが
Excel使用中に限りそれを止めることは可能でしょうか。
OS上で止めるならIMEのプロパティで □ 表示する をOFFればいいのは
理解してます。 アプリの中だけで止める場合にVBAでできればと考えています。

248 :デフォルトの名無しさん:2018/05/02(水) 21:23:25.86 ID:A9SfvTcd.net
>>244
VBA使いごときにバカにされるとは、、、、
お前はプログラミングも出来ないのかって会社じゃ肩身狭い思いしてるんだろうから許してやろうじゃないか

249 :デフォルトの名無しさん:2018/05/02(水) 22:48:03.66 ID:UsKguLu7.net
昔、VBAは遅いとか言ってバカにしてた奴がいたんだが、そいつがCで書いたプログラムより俺の書いたVBAの方が速かったことがあった。

そいつにおまえのコ―ドはゴミだなって言ったらすごい顔で睨まれたな。
遅いと結論を出す前に速くなるよう努力したのか?と言ったら自分の非を認めてたが。

それに用途によるわけで、JAVAでも似たようなことが言われるわけだが、速度を求められる場合は適さないかもしれんが、そうじゃなければ大したデメリットにはならんわけ。

250 :デフォルトの名無しさん:2018/05/02(水) 22:50:51.63 ID:8abGMC3I.net
という夢を見たんだね

251 :デフォルトの名無しさん:2018/05/02(水) 23:25:18.98 ID:UsKguLu7.net
>>250
そもそもプログラムも組めないお前に言われたくないな。

252 :デフォルトの名無しさん:2018/05/02(水) 23:30:06.52 ID:8abGMC3I.net
ということにしたいんだね

253 :デフォルトの名無しさん:2018/05/02(水) 23:43:29.80 ID:UsKguLu7.net
ゴミ発言しかしねえな。

254 :デフォルトの名無しさん:2018/05/03(木) 00:13:05.31 ID:u3Cn9bio.net
だからVBAて嫌いなんだよ

255 :デフォルトの名無しさん:2018/05/03(木) 05:29:14.50 ID:JQr4Okhv.net
お前の好き嫌いなんぞ知ったことか

256 :デフォルトの名無しさん:2018/05/03(木) 06:39:37.57 ID:Vf3d827a.net
VBAしか使わせてもらえない環境の仕事場にいるとプログラミングのキャリアアップは絶望的
そんなクソみたいな所はサッサと逃げ出した方が人生上手く行くよ
エクセル(笑)以外は何のスキルもないからもう遅いか
チーン

257 :デフォルトの名無しさん:2018/05/03(木) 07:27:45.67 ID:ogoC5I/7.net
それぞれ用途やシュチュエーションによって
どの言語を使うとより便利かは変わるから
「こういうときは〜を使うと便利」というのは分かるけど
それを人に押し付けるのはちょっといかがなものかな。

EXCELの操作を行うのには通常VBAが一番便利だし
かゆいところに手が届かない場合は他の言語でdll作ってそれを参照して使えばいい訳だし。

EXCELはCOMとして他の言語で作ったアプリやシステムから操作出来るけど
COMだからメモリの解放がとんでもなく面倒だし
NPOIとか使ったところでその動作保証は誰もしてくれないしね。

それでもそういうのが必要なシュチュエーションであれば使わざるを得ないけどね。

258 :デフォルトの名無しさん:2018/05/03(木) 07:59:15.17 ID:ogoC5I/7.net
後、SQLがプログラミング言語かどうかという論議があったけど厳密に言えば違う。
VBAやVB、JAVA、C、C#、rubyなど一般的に言われているプログラミング言語は「手続き型」で、
それに比べてSQLは「宣言型」に分類されるので、
そもそものプログラムの意味である手順、手続き、計画等の意味合いから外れることになる。

とは言え一般的にはその辺引っくるめてプログラミング言語と呼ばれることが多いけどね。

259 :デフォルトの名無しさん:2018/05/03(木) 08:26:16.16 ID:jhccfXfd.net
>>258
関数型言語はプログラム言語じゃないぐらい乱暴な意見乙

260 :デフォルトの名無しさん:2018/05/03(木) 08:30:21.08 ID:ogoC5I/7.net
>>259
関数型言語は両方網羅してるから分類でいうとどうなるのかね

261 :デフォルトの名無しさん:2018/05/03(木) 08:45:12.23 .net
SQLはチューリング完全

262 :デフォルトの名無しさん:2018/05/03(木) 09:13:29.23 ID:96XRan6U.net
>>258
SQLがプログラミング言語かどうか、なんて議論はなかったんじゃ?
>>192でVBA、C++、 C#、SQLを同列に並べたうえで
「データがでかいならSQL一択 」なんて主張があった。
VBAプログラムからSQLを使う、とかC++プログラムでSQLを使う、とかならわかる。
「SQL一択 」って何だよっていう。

263 :デフォルトの名無しさん:2018/05/03(木) 10:01:18.15 ID:ogoC5I/7.net
>>262
なるほど、俺の勘違いか。それはすまんかった。

SQL一択というのがもし他の言語から呼び出して
使うものであったとしてもちょっと賛同しかねるわ。

理由はVBAスレからかけ離れる話になるんで詳しいことは言わないけど
ビッグデータであれDBの内容を書き換えるのにSQLが一番有効とは限らないってこったね。

264 :デフォルトの名無しさん:2018/05/03(木) 10:09:23.08 ID:aADwc621.net
今日もプロさん元気やなw

265 :デフォルトの名無しさん:2018/05/03(木) 10:30:29.52 ID:ygisZEFQ.net
>>257
>EXCELの操作を行うのには通常VBAが一番便利だし
VBAの言語機能がレガシーすぎてとてもじゃないが便利とは言えんな
ラムダすら無い言語って今時珍しいぞ

>かゆいところに手が届かない場合は他の言語でdll作ってそれを参照して使えばいい訳だし。
めんどくさすぎ

>EXCELはCOMとして他の言語で作ったアプリやシステムから操作出来るけど
>COMだからメモリの解放がとんでもなく面倒だし
要所を押さえときゃGCで十分だよ
クリティカルなシステムじゃなく使い捨てなら余計にな

>NPOIとか使ったところでその動作保証は誰もしてくれないしね。
何使ったってテストは必須
テストは誰もしてくれないじゃなくて自分でするものだ
テストされてないアプリとかほとんどテロだからな
VBAはテストしにくいぞ

266 :デフォルトの名無しさん:2018/05/03(木) 10:31:49.93 ID:jhccfXfd.net
>>263
> ビッグデータであれDBの内容を書き換えるのにSQLが一番有効とは限らないってこったね。
他の選択肢ってなに?

267 :デフォルトの名無しさん:2018/05/03(木) 10:44:41.52 ID:ogoC5I/7.net
>>265
>要所を押さえときゃGCで十分だよ

ガベージコレクションは現在使用されていると認識されているObjectに対して
いくら走らせても無意味だよ。

268 :デフォルトの名無しさん:2018/05/03(木) 10:52:55.07 ID:ogoC5I/7.net
>>266
例えば可読性から言ったらEntityFreamworkや
Hibernateを使ったORマッパーを使う方法

例えばSqlServerであれば
処理速度から言えばDataTableの内容を
一行一行インサートしないでBulk Copyを使う方法

とか

269 :デフォルトの名無しさん:2018/05/03(木) 10:53:33.60 ID:Vf3d827a.net
>>267
じゃあ閉じれば?

270 :デフォルトの名無しさん:2018/05/03(木) 10:56:44.58 ID:ygisZEFQ.net
>>267
それは周知の事実だがお前がなんの意図を持ってその発言をしたのか理解できない

271 :デフォルトの名無しさん:2018/05/03(木) 10:58:48.24 ID:ogoC5I/7.net
>>269
その発想は実際使ったことない人から出る発想だね。
実際にはセル一つ操作するにもその上の階層にある
全てのインスタンスを定義して全て解放しなければならない。

272 :デフォルトの名無しさん:2018/05/03(木) 11:00:48.87 ID:ogoC5I/7.net
>>270
それはCOMを使うということは
ガベージコレクションを意識しただけでは
出来ないということが多々あるから

273 :デフォルトの名無しさん:2018/05/03(木) 11:04:07.21 ID:IGWMrNd7.net
本当にVBA以外の言語も使える人間ならVBA以外でエクセルいじるのはクッソ面倒って分かってるわけで
エクセル案件にVBA以外を勧めてくる時点でお察しだから真面目に答えたらアホ見るだけだぞ

274 :デフォルトの名無しさん:2018/05/03(木) 11:08:48.01 ID:ygisZEFQ.net
>>272
流し読みするタイプかな
要所を押さえてって書いたんだけど見えなかったようだ

275 :デフォルトの名無しさん:2018/05/03(木) 11:10:33.05 ID:ogoC5I/7.net
>>274
要所なんてない。
全て生成、解放しなければ
メモリリークを起こしたり
EXCELが閉じられなくなったりする。

276 :デフォルトの名無しさん:2018/05/03(木) 11:10:38.71 ID:jhccfXfd.net
>>268
> ORマッパーを使う方法
まあSQLは使ってないけど...

> 一行一行インサートしないでBulk Copyを使う方法
どうやって「書き換える」のよ...

277 :デフォルトの名無しさん:2018/05/03(木) 11:13:07.36 ID:ogoC5I/7.net
>>276
だから「登録」とか「更新」なんて
勘違いしないように
DBを書き換えると言ったつもりだったんだけどな・・・

278 :デフォルトの名無しさん:2018/05/03(木) 11:15:10.86 ID:ygisZEFQ.net
>>275
うーんこの…
だからさ、GCで殆ど解放されるんだよ
quitやcloseなどといった要点を守ればComラッパーが参照カウンタの面倒見てくれんの
粗悪なウェブサイトのせいで.NETだと逐一ReleaseComObjectしないとダメみたいな誤解が広まってるがあれはウソだからな

279 :デフォルトの名無しさん:2018/05/03(木) 11:15:53.09 ID:jhccfXfd.net
>>275
全部きちんと解放すればいいだけ
そもそもMicrosoft.Office.Interop.ExcelのオブジェクトがDisposableでないのが不思議
Disposableならもう少しきれいに書けるだろうに

280 :デフォルトの名無しさん:2018/05/03(木) 11:17:25.51 ID:ogoC5I/7.net
>>279
だから出来ないとは言っていない
面倒だといっている

281 :デフォルトの名無しさん:2018/05/03(木) 11:17:29.41 ID:jhccfXfd.net
>>277
インサートをDBを書き換えると表現する奴を初めて見たわ w

282 :デフォルトの名無しさん:2018/05/03(木) 11:25:30.83 ID:jhccfXfd.net
>>280
> それはCOMを使うということは
> ガベージコレクションを意識しただけでは
> 出来ないということが多々あるから

そもそもとんでもなく面倒と言うほどのことでもないし

283 :デフォルトの名無しさん:2018/05/03(木) 11:28:04.31 ID:ygisZEFQ.net
面倒くさいって言ってる奴はGCだとリークするからいちいち全部明示的にリリースしなきゃダメなんだって勘違いしてるんだろ
根本的に間違ってるのだから面倒くさいという結論も間違い

284 :デフォルトの名無しさん:2018/05/03(木) 11:28:20.47 ID:ogoC5I/7.net
>>282
それは人の感覚だから何とも言えんけど
仕事場に制限が無ければ俺ならPOIとかNPOI使うな

285 :デフォルトの名無しさん:2018/05/03(木) 11:35:18.84 ID:WApyWolu.net
やっぱ適当に批判してる奴は知ったかぶりだったかw

286 :デフォルトの名無しさん:2018/05/03(木) 11:52:56.26 .net
結局VBA最強って結論でおk?

287 :デフォルトの名無しさん:2018/05/03(木) 11:54:33.72 ID:ygisZEFQ.net
VBA最弱でOK

288 :デフォルトの名無しさん:2018/05/03(木) 11:57:59.34 ID:WApyWolu.net
適材適所。

289 :デフォルトの名無しさん:2018/05/03(木) 12:00:47.01 ID:jhccfXfd.net
>>284
> NPOIとか使ったところでその動作保証は誰もしてくれないしね。

> 仕事場に制限が無ければ俺ならPOIとかNPOI使うな

なんか精神患ってない?

290 :デフォルトの名無しさん:2018/05/03(木) 12:03:22.26 ID:ogoC5I/7.net
>>289
そう。それでもそっちの方がマシ。

291 :デフォルトの名無しさん:2018/05/03(木) 12:15:36.99 ID:b8IepW0h.net
>>247
Excelだけってなると無理じゃないかな
その設定に介入するすべがないとどうしようもない

292 :デフォルトの名無しさん:2018/05/03(木) 12:16:30.95 ID:96XRan6U.net
Excel含めたOfficeアプリケーションの操作の話とデータの操作の話が入り混じっていてわかりにくいな。
俺はアプリの操作なんてほとんどやってないや。(自分に)需要がない。
データの分析や操作にVBAを使っていて、VBAが最強だと思っている。

293 :デフォルトの名無しさん:2018/05/03(木) 13:02:07.39 ID:Pbl0v+Er.net
データ分析や操作にVBAが適しているとかご冗談でしょう?

294 :デフォルトの名無しさん:2018/05/03(木) 13:06:18.71 ID:Vf3d827a.net
エクセルでデータ分析って何が出来るの?
そもそもエクセルってデータベースじゃないよね?

295 :デフォルトの名無しさん:2018/05/03(木) 13:06:24.47 ID:aADwc621.net
>>278
おやおやプロさん何に騙されたんやw
それともプロさんレベルになるとバグをなかった事にできる魔法とか使えるんか?www

296 :デフォルトの名無しさん:2018/05/03(木) 13:10:13.46 ID:GbI/mLdw.net
データ解析には普通はpythonやRだよね

考えてみたがやっぱりVBAで書いたほうが楽なケースってイベントハンドラぐらいしか無い気がする
ヘッドレスで出来る処理は他のスクリプトのほうが簡単だしそもそも多くの場合Excelである必要すらない

297 :デフォルトの名無しさん:2018/05/03(木) 13:13:15.50 ID:0O2GyWuU.net
Excelである必要が無いとか、スレチもここまで来るとはw

298 :デフォルトの名無しさん:2018/05/03(木) 13:13:16.06 ID:aADwc621.net
>>296
おまえ良いところに気がついたなw
このスレのプロさんにしては珍しい奴やw

299 :デフォルトの名無しさん:2018/05/03(木) 13:13:37.90 ID:Ais7tPnB.net
>>291
Cell ごとに入力規則でオン・オフとかしてるんですが
ちょうどExcelプロフェッショナルな面々がいらっしゃるようなので
今だ! と思って質問しました。
https://teratail.com/questions/73952

ここでやってらっしゃることが似たケースなのかな、と
VSやC♯でならIMEModeをコントロールできるなら、どうにかできるのかな?と
教えてもらっても実装できるかどうか自信はありませんが

300 :デフォルトの名無しさん:2018/05/03(木) 13:27:56.26 ID:jhccfXfd.net
>>299
C#とかじゃの問題じゃなくてそのリンク先に書いてあるのはそういう処理を挟み込めるコントロール(部品)だからできるってこと
Excel自体にそんな機能があればできるかもしれないけど俺は知らない

301 :デフォルトの名無しさん:2018/05/03(木) 13:34:22.11 ID:ygisZEFQ.net
>>299
自宅にwindows無いから試せんがたぶんこれでできるだろ

Excelを使用開始した時に
HKEY_CURRENT_USER\SOFTWARE\Microsoft\IME\15.0\IMEJP\MSIME
ShowImeModeNotification
を0に設定する
Excelを使用終了したら元の値に戻す

Excelの使用中の定義がわからんがそれは自分で決めて

お決まりの文句だけどレジストリ弄る時はもちろん自己責任な

302 :デフォルトの名無しさん:2018/05/03(木) 14:18:15.46 ID:Vf3d827a.net
>>301
おー凄い
よくそんな事まで知ってるね

303 :デフォルトの名無しさん:2018/05/03(木) 14:41:12.43 ID:RxRkLoMj.net
>>294
Excelとは書いてない。VBA単独だよ。

304 :デフォルトの名無しさん:2018/05/03(木) 14:42:54.90 ID:Pbl0v+Er.net
VBA単独で何をやれるんだ…
むしろExcel単独のほうがマシなレベルだろ

305 :デフォルトの名無しさん:2018/05/03(木) 15:17:06.77 ID:96XRan6U.net
>>304
DBもテキストファイルも読み書きできてhttpリクエストも出来て
API呼び出しも出来て一般的な制御構造を持ってて、
ユーザとダイアログで対話出来て、それでなにが致命的にできないというの?

306 :デフォルトの名無しさん:2018/05/03(木) 15:21:11.80 ID:IGWMrNd7.net
単独って言われるとライブラリも無しってイメージしちゃうからな
まぁそうすると何かが出来る言語ってほうが珍しいんだけどさ

307 :デフォルトの名無しさん:2018/05/03(木) 15:31:00.49 ID:88q/pvX5.net
Shell "EXPLORER.EXE https://minkabu.jp/stock/1330"だと
うまく開けますが、
Shell "EXPLORER.EXE https://textream.yahoo.co.jp/search?query=1330"
のように?(クエスチョン)が入っていると
なぜかマイドキュメントホルダーが表示されます。
引数の?は何かエスケープしなければなりませんか?
よろしくお願いいたします。

308 :デフォルトの名無しさん:2018/05/03(木) 15:46:12.37 ID:6NzQufie.net
>>305
車輪を再発明するの好きそう

309 :デフォルトの名無しさん:2018/05/03(木) 15:58:07.60 ID:b8IepW0h.net
>>307
Explorerの仕様じゃないかな
ExplorerにWEBサイトのアドレスを渡す→ブラウザーで開く
っていう仕組みらしーので
Explorerが解釈する段階で「?」は禁則文字だから受け付けてくれない
ハイパーリンクでやるのがいいのではなかろーか

310 :デフォルトの名無しさん:2018/05/03(木) 16:13:02.98 ID:88q/pvX5.net
>>309
ありがとうございます。
なるほどです。
ハイパーリンクの方向で考えてみます。

311 :デフォルトの名無しさん:2018/05/03(木) 16:14:57.73 ID:96XRan6U.net
>>308
車輪の再発明でも、それによってVBA単独で作業がこなせるようになるなら、
十分意味あるのでは?

312 :デフォルトの名無しさん:2018/05/03(木) 16:15:07.06 ID:hvfEvXXP.net
>>308
個体発生は系統発生を繰り返す
問題ない

313 :デフォルトの名無しさん:2018/05/03(木) 16:36:29.69 ID:ygisZEFQ.net
>>305
ライブラリは探せばそれなりにあるけどAPIにセンスが無い
OOPサポートも半端だし関数型サポートがないのも致命的じゃないかな
せめてどちらかは欲しいところ
名前空間が無いのも気持ち悪い
そのせいでコードのパッケージングと再利用もしにくい
全体的にチープで古臭い
昔からある言語でMSも投資する気がないから仕方がないけど時代に取り残されてる
モダンなプログラミング環境を知ってる現代人には到底受け入れられない

314 :デフォルトの名無しさん:2018/05/03(木) 16:47:53.46 ID:96XRan6U.net
>>313
そんな名古屋に対する悪口みたいに言うなよ

モダンなプログラミング環境を知っている現代人がセンスあるAPIでOOPと関数型サポートを提供して
コードの再利用をやりやすくすればいいんじゃね?
名前空間とパッケージングと全体的にチープで古臭いのはまあしょうがない。

315 :デフォルトの名無しさん:2018/05/03(木) 16:54:56.30 .net
弘法筆を選ばず

流行の最先端の言語を使いたがるのが学生気分抜けやらぬ初級者〜中級者の常だが
そのモダンな(笑)言語が3年後にも安定して使い続けられる確証があるんだろうか
その環境に適した言語と自分が使いたい言語は必ずしもイコールではない

316 :デフォルトの名無しさん:2018/05/03(木) 16:56:47.30 ID:6NzQufie.net
VBAが先に消えそうだけどな

317 :デフォルトの名無しさん:2018/05/03(木) 16:59:42.65 ID:ygisZEFQ.net
筆だけで商売できる弘法さんは気楽でいいよな

318 :デフォルトの名無しさん:2018/05/03(木) 17:08:35.41 ID:96XRan6U.net
>>315
3年後には環境が大いに変わる
そういう世界で競争しているので安定しないのはしょうがない
安定ばかりじゃ勝てないからな

319 :デフォルトの名無しさん:2018/05/03(木) 17:11:43.22 .net
>>316
そのころにはPython 4 (もちろんPython 2.7とも3.6とも互換性なし) が枯れた言語になってるだろう

320 :デフォルトの名無しさん:2018/05/03(木) 17:12:00.60 ID:WApyWolu.net
OOPがサポートされてても使いこなせてなさそうだな。無闇に継承とか使ってそうだ。

321 :デフォルトの名無しさん:2018/05/03(木) 17:46:23.02 ID:QByN6yWW.net
結局のとこ、自分が道具を使いこなせないか、その道具で満足なものが作れないから
道具の文句を言うしかないわけだな

322 :デフォルトの名無しさん:2018/05/03(木) 18:16:26.03 ID:Sky621AR.net
何か、WindowsとLinux論争と似てるんだよな。
Excel使わないで、何か他の表計算めいたもので結果を出すという選択肢があれば理解出来る。

でもExcel使う前提なら普通はVBAが有利だろ。

俺はRも少しは使えるけど、そもそも仕事じゃ入れさせて貰えない。
特に有料ソフトじゃないと申請が通りにくい。
そりゃ面倒くさい手続きを経れば入れさせて貰えるけどさ。
其れだったらExcelだけで何とかしようとする。
で、意外に何とかなったりもする。

C#で個人的に自作したCOMアドインも無理だよな。
得体の知れない物と同じだからさ。

323 :デフォルトの名無しさん:2018/05/03(木) 18:37:19.10 ID:3Ql6zJ1V.net
>>322
> でもExcel使う前提なら普通はVBAが有利だろ。
この狭量な考えに同意が得られないことに気づいてくれ

324 :デフォルトの名無しさん:2018/05/03(木) 18:55:41.67 ID:96XRan6U.net
>>322
状況を教えて。
1.Rは普通に理由を添えて申請してもダメなの?
2.COMアドインは具体的に何の行為がNG?ソースは職場でビルドするの?

325 :デフォルトの名無しさん:2018/05/03(木) 18:57:16.70 ID:96XRan6U.net
>>323
まずは
大多数の人は同意していて、同意していないのは小数
ってことに気付いてくれ。
(少数派がダメとは言っていないが)

326 :デフォルトの名無しさん:2018/05/03(木) 19:03:29.02 ID:Ais7tPnB.net
>>301
ありがとうございます この機に聞いて良かった
連休明けに試します

327 :デフォルトの名無しさん:2018/05/03(木) 19:09:49.73 ID:jhccfXfd.net
>>325
> 大多数の人は同意していて、同意していないのは小数
> ってことに気付いてくれ。
> (少数派がダメとは言っていないが)
それはお前の思い込み
何度も状況次第って書かれてるし、VBAが使いづらい理由とかも書かれてる
にもかかわらず常にExcelにはVBAって言ってるから同意が得られないだけ

328 :デフォルトの名無しさん:2018/05/03(木) 19:12:28.03 ID:96XRan6U.net
>>327
いや、大多数の人はそうじゃない
思い込みじゃないよ
>>322の人はちゃんと「普通は」って書いてるじゃないか

329 :デフォルトの名無しさん:2018/05/03(木) 19:21:12.05 ID:aADwc621.net
>>327
表形式のデータを扱いたいためにエクセルって言っとるおまえの方が大いなる思い込みをしとるわw

330 :デフォルトの名無しさん:2018/05/03(木) 19:28:02.90 ID:6NzQufie.net
ソースもなしに大多数とか頭弱く見えるぞ

ほとんどの状況でVBA以外でExcel使ったほうがやりやすい
VBAの言語仕様が古臭いから
例外はユーザー定義のワークシート関数作るときに仕方なく使うだけ

331 :デフォルトの名無しさん:2018/05/03(木) 19:28:17.66 ID:WApyWolu.net
>>327
大多数の人は状況によりVBAも使う。
あなたが言っているのはどのような状況でもVBAは使わない。

332 :デフォルトの名無しさん:2018/05/03(木) 19:40:29.12 ID:IGWMrNd7.net
>>330
それってあなたの感想ですよね

333 :デフォルトの名無しさん:2018/05/03(木) 19:45:26.62 ID:Sky621AR.net
>>323
だって別のファイルで操作するなんて言った瞬間にウィルスかとか言われたりするわけよ。
だから職場で、殆ど何も入ってない環境で作らないと駄目だろ。
その上、それってVBAじゃ出来ないの?とか言われて、実際出来たりするからな。

個人所有のノーパソにはVisualStudio入ってる。
2010だけどプロフェッショナル版だ。
今はタダで最新版が使えるわけだが買ったものをタダのに入れ替える気にならなくてな。

職場のPCにゃVisualStudioは入っとらん。
Rもそうだがそもそも申請しなきゃならんというのがもう既に面倒くさい。
どうしても必要なら申請するけど、そんなことも無いからな。

334 :デフォルトの名無しさん:2018/05/03(木) 19:51:36.08 .net
素のWindows + Office環境だけでいかに要求仕様を満たせるかという縛りゲー

わりと楽しい

335 :デフォルトの名無しさん:2018/05/03(木) 19:55:14.91 ID:WApyWolu.net
目的が達成できれば何でもいい。
言語に縛られて手段と目的を勘違いしてるとしか思えない発言のパレード。

336 :デフォルトの名無しさん:2018/05/03(木) 20:00:07.28 ID:jhccfXfd.net
>>328
そもそも何をもって普通と言ってるのか知らんけどVBAが有利じゃないケースもあると言ってるのに毎回普通は〜って返してるだけだよね?

>>329
反論が明後日すぎる w
Excel自体の話はしてないよ

>>331
> あなたが言っているのはどのような状況でもVBAは使わない。
どこからこんなアホな解釈が出てくるんだよ w

>>333
お前の回りがおかしいのかお前がおかしいのかはわからんけどあまり一般的な会社じゃないと思うよ

337 :デフォルトの名無しさん:2018/05/03(木) 20:13:04.83 ID:aADwc621.net
>>336
おまえがVBAが有利じゃないケースと言っとるのはそもそもマクロが必要ないケースや
普通はマクロを想定しない処理に暗黙のうちにマクロを想定してあまつさえVBA批判までしてしまうという
非常にややこしい勘違いの持ち主がおまえをはじめとするプロさんやねんw

338 :デフォルトの名無しさん:2018/05/03(木) 20:19:10.52 ID:96XRan6U.net
>>333
やじうま根性だけど、よそ様のそういう事情に興味があります
うちだと申請書と上司の捺印は必要なものの、
「〜の統計的分析作業にR言語を使用したい。R言語は実績あるオープンソースで〜」
みたいなことを適当に書いておけば、ほぼ通る。
もちろん金がかかると途端にハードルが高くなるけど。

339 :デフォルトの名無しさん:2018/05/03(木) 20:21:11.84 ID:IGWMrNd7.net
自称プロがVBAと言っているのは、Visual Basic for Applicationsの方じゃなくて、なんか別のVBAなんだろう

340 :デフォルトの名無しさん:2018/05/03(木) 20:21:42.95 ID:jhccfXfd.net
>>337
> おまえがVBAが有利じゃないケースと言っとるのはそもそもマクロが必要ないケースや
> 普通はマクロを想定しない処理に暗黙のうちにマクロを想定してあまつさえVBA批判までしてしまうという
どこのレスを読んでそんなアホな解釈したのか書いてみ

341 :デフォルトの名無しさん:2018/05/03(木) 20:26:55.58 ID:jhccfXfd.net
>>338
まあ、うちも似たような感じだな
金の話は経理管轄だから費用対効果の説明がいるけど固定資産にならない範疇ならそんなに厳しくはないし

342 :デフォルトの名無しさん:2018/05/03(木) 20:30:54.21 ID:aADwc621.net
>>340
解釈てw
はっきりとVBAが有利じゃないケースて言っとやんかwにわとりかおまえはw
でそのVBAが有利じゃないケースてどんなんや?具体的に言うてみ?w
ほれwはやくw

343 :デフォルトの名無しさん:2018/05/03(木) 20:45:31.64 ID:ygisZEFQ.net
VBAが古臭い使いにくい言語・開発環境ってのは全員が理解してる
なのでVBAでやるべきだという積極的な理由がなければVBA以外の言語を使うべき
VBAでやるべき場面は何かというと殆どなくてイベントハンドラを書く場合などに限られてくる
Excel以外にGUIツールを手軽に作る手段を知っているならその出番すらなくなる

344 :デフォルトの名無しさん:2018/05/03(木) 20:48:26.60 ID:LNgDTs2r.net
>>336
君、アホだろ。
逆だっちゅうの。

Excel使ってるという限定された場だからこそVBAが有利だと言ってるだけ。
Excel使ってなければ普通に別の言語の方が有利だろ。

君はどんな時でもVBAが不利だと言いたいようだけど大抵の処理はどんな言語でも出来る。
だから別に言語が必要無い(なんたってExcel内蔵だ)とか、他にファイルを必要としないというのは凄いメリットだぞ。

じゃあ、VBAでは出来ないことが有ったとする。
普通に別言語使うわ。

345 :デフォルトの名無しさん:2018/05/03(木) 20:51:11.73 ID:jhccfXfd.net
>>342
> でそのVBAが有利じゃないケースてどんなんや?具体的に言うてみ?w
> ほれwはやくw

既に書いてあるがガン無視だったよな w

>> さすがにVBAは設計も古いし言語としては最もいい言語とは言えない
>> あと>>137も書いてるけどデータとプログラムコードが一体になってるのは便利だけど例えば社内に配布してるExcelファイルのコードだけ修正したい時に面倒なことになる

346 :デフォルトの名無しさん:2018/05/03(木) 20:54:31.94 ID:jhccfXfd.net
>>344
> 君はどんな時でもVBAが不利だと言いたいようだけど
だからどこを読んでこんなアホな解釈してるんだよ?
これ聞くの2回目だよ?
答えられないなら黙ってなよ

347 :デフォルトの名無しさん:2018/05/03(木) 20:56:28.57 ID:WApyWolu.net
>>336
アレ?powershellがそのまま使えるからVBAではなくpowershellを使えって言ってなかったか?
違う人ならすまんな。

348 :デフォルトの名無しさん:2018/05/03(木) 20:56:45.92 ID:LNgDTs2r.net
>>338
うん。
そういうこと色々言えば通るだろうね。
でもVBAでも十分出来るだろうと思えるものに、そういうことを言って通すのに抵抗があるし、面倒くさいということ。

でも、Rはダメかもね。
むしろ金がかかる方がハードルが低い。

俺はよっぽど使いこなせて凄いこと出来るぐらい自分のレベルが高くないとそういう主張はしないな。
そりゃ、VBAじゃ無理っつう具体的な何かが有るなら別だけど。

349 :デフォルトの名無しさん:2018/05/03(木) 20:59:38.23 ID:aADwc621.net
>>345
何を言いたいのかよく分からんがw

まず勘違いその2
データとプログラムが一体になっとるのは不便や
どこを勘違いしたらそれを便利だと思えるのやプロさんw

で次な
データとプログラムが一体になっとるやっかいな代物のコードだけ修正したい時
に面倒なことになるのはVBA全然関係あらへんw

端的に言っておまえは一体何を言うとるんやw

350 :デフォルトの名無しさん:2018/05/03(木) 21:00:15.42 ID:LNgDTs2r.net
>>346
お前が最初にこの論争を始めたわけではあるまい。
元々は、その時に最適なの使えって話に対して、どんな場合でもVBAがダメって論調から始まってる。

351 :デフォルトの名無しさん:2018/05/03(木) 21:10:32.44 ID:ygisZEFQ.net
VBAがダメってのはスタートじゃなく結論
理由も何度も書かれてる
どちらかというとVBAが便利って派閥の方が結論をスタート地点にしている気がするね

352 :デフォルトの名無しさん:2018/05/03(木) 21:18:58.81 ID:Vf3d827a.net
VBAってエクセルとかアクセスとかなしで単独でアプリみたいなのを作れるの?
エクセルとかの為だけにある言語?

353 :デフォルトの名無しさん:2018/05/03(木) 21:19:45.48 ID:96XRan6U.net
>>351
VBAは便利だし最適解に近いよ。
ダメだっていう理由とやらはだいたい理由になってないんじゃないかな。
例えば「データとプログラムが一体になってる」ってやつだけど、
それは単に「悪い設計の例」であって、VBAのせいでもなければVBAがそうなりがちだということでもない。
悪い設計するやつはどんな言語でもセンス悪い設計をするものだ。

354 :デフォルトの名無しさん:2018/05/03(木) 21:20:31.65 ID:ygisZEFQ.net
>>352
作れるけどVBAで作る意味はない

355 :デフォルトの名無しさん:2018/05/03(木) 21:24:25.48 ID:ygisZEFQ.net
>>353
VBAでデータとプログラムを分離するなら
データ用Bookとプログラム用のBookを作らなければならない
しかしプログラムのコンテナとしてBookは適切ではないね

356 :デフォルトの名無しさん:2018/05/03(木) 21:29:21.36 ID:nUgTWhrN.net
今更VB6で何か作れって言われるのと同じ

357 :デフォルトの名無しさん:2018/05/03(木) 21:36:13.37 ID:aADwc621.net
>>355
プログラムだけならアドインでええやんけw
というのはおいといて

話は重複するが
マクロはそもそもアプリケーションを操作する目的で作られたものや
アプリケーションの操作が必要なく
データ、つまりエクセル形式のファイルを操作する事だけが目的ならば
マクロは必要ないし現に別のプログラミング言語でなんぼでもやり方が提供されとんねん

ええか?
おまえらプロさんは後者、つまりデータのみの操作を目的とする場合
あるいはそもそもエクセルファイルすら関係ない場合に
暗黙にマクロを想定してなおかつVBA批判を繰り広げとるんや

ホンマに面倒くさいやつらやでプロさんはw

358 :デフォルトの名無しさん:2018/05/03(木) 21:36:45.42 ID:jhccfXfd.net
>>349
> データとプログラムが一体になっとるのは不便や
> どこを勘違いしたらそれを便利だと思えるのやプロさんw
>>344 とかに言えよ w
> だから別に言語が必要無い(なんたってExcel内蔵だ)とか、他にファイルを必要としないというのは凄いメリットだぞ。

> データとプログラムが一体になっとるやっかいな代物のコードだけ修正したい時
> に面倒なことになるのはVBA全然関係あらへんw
ん?
言語の話じゃなくて環境の話だから関係ないって?
なんか都合のよすぎる解釈だな w

359 :デフォルトの名無しさん:2018/05/03(木) 21:39:19.24 ID:jhccfXfd.net
>>347
俺はそんなことを言った覚えはないしそもそも「そのまま使える」でスレ検索してもあんたのレスしかヒットしないよ?

360 :デフォルトの名無しさん:2018/05/03(木) 21:41:09.06 ID:jhccfXfd.net
>>350
> 元々は、その時に最適なの使えって話に対して、どんな場合でもVBAがダメって論調から始まってる。

で、その論調ってどこのレスよ?
早くレス番示してくれ

361 :デフォルトの名無しさん:2018/05/03(木) 21:45:21.15 ID:ygisZEFQ.net
>>357
データ操作というかより一般化してヘッドレスなExcel操作な
ヘッドレスなExcel操作ではもはやVBAの優位性はない
それ以外の用途ではVBAの活路はあるがインベントハンドラなど限定された用途に限られる
他の言語でGUIアプリを手軽に作る手段を知っているなら残ったそれ以外の用途ですらVBAの出番はない

362 :デフォルトの名無しさん:2018/05/03(木) 21:48:55.34 ID:jhccfXfd.net
>>353
データとプログラムを別にするならVBAで作るメリットの大半を放棄することになるが?
最適解とか冗談にしか聞こえない w

363 :デフォルトの名無しさん:2018/05/03(木) 21:53:25.69 ID:JQr4Okhv.net
まぁ暇な連中がくっそくだらねぇ話をしてますが、質問されたい方はこれらのアホンダラを無視して
いただいて構いませんので、お気になさらずどうぞ〜

364 :デフォルトの名無しさん:2018/05/03(木) 21:53:45.43 ID:aADwc621.net
>>361
ヘッドレスてwウェブドライバーかじって言ってみたくなったんかw
つまりデータの操作なw
何度も言うがそこには優位性云々やなくマクロがいらんねん
マクロが必要な場面というんはアプリケーションの操作が必要な時
言いかえればアプリケーションの使用中にインタラクティブな拡張が必要な時や

てかおまえらそもそもマクロが必要な場面を知らんやろw
もはや怪しいのはそこやでw

365 :デフォルトの名無しさん:2018/05/03(木) 21:54:43.18 ID:ygisZEFQ.net
>>363
最近あった質問に答えてるのが、そのくだらない議論してる奴だけだった、ってのがこのスレのレベルの低さを物語ってるよな

366 :デフォルトの名無しさん:2018/05/03(木) 21:58:55.22 ID:6NzQufie.net
Excelの操作にもVBA以外の方がやりやすいよ
個人的な具体例を挙げると、全部のシートの表示倍率を100%にしてA1セルをアクティブにするマクロをrubyで書いてる
VBA使わなければ3行ぐらいで書けるからな
めっちゃ楽

367 :デフォルトの名無しさん:2018/05/03(木) 22:04:26.73 ID:ygisZEFQ.net
>>364
ヘッドレスははるか昔からある言葉でブラウザはむしろ後発だよ

つまりってなんだよヘッドレス操作は単純なデータ操作ではない

インタラクティブな操作にVBAの活路があるのは同意だし、そう主張してきた
しかしGUIを手軽に作る手段や他のエコシステムを知っているなら、その活路すら必要なくなるので、結果としてVBAの存在意義もなくなる

何度も同じことを書かせないでくれ
理解して

368 :デフォルトの名無しさん:2018/05/03(木) 22:08:15.31 ID:ygisZEFQ.net
>>367
間違えた
インタラクティブな操作と言うのは範囲が広すぎる
インタラクティブな操作の中でも特にイベントハンドラなど一部の処理に関してはVBAに活路がある
が俺の主張な

369 :デフォルトの名無しさん:2018/05/03(木) 22:11:06.28 ID:aADwc621.net
>>367
ヘッドレスいうんはヘッドつまりウィンドウがない事や
人間による操作を必要としない定型のデータ操作に使われるもんやでw

てかどこに食いついとんねんwもうごめんなさいしいやw
しつこいねんプロさんw

370 :デフォルトの名無しさん:2018/05/03(木) 22:13:44.01 ID:jhccfXfd.net
>>366
その程度ならまあどんな言語でもたいして変わらんな
てか、頻繁にそういうことやるならアドイン化すべきだろ

371 :デフォルトの名無しさん:2018/05/03(木) 22:28:05.78 ID:ygisZEFQ.net
>>369
理解力なくて疲れるんだけど
単純なデータ操作だけでなくその他のアプリケーションのコントロールも含めてヘッドレス操作な

372 :デフォルトの名無しさん:2018/05/03(木) 22:44:30.63 ID:pucBeYZL.net
VBA単独ってなんだそりゃ
VB6のことかな?

373 :デフォルトの名無しさん:2018/05/03(木) 22:54:28.64 ID:aADwc621.net
>>371
おまえが疲れるのはその多すぎる勘違いのせいやでw

374 :デフォルトの名無しさん:2018/05/03(木) 23:08:47.05 ID:GbI/mLdw.net
VBAは使い捨ての処理と相性が悪い
手作業でやるには量が多いから自動化したいけど再利用する予定はないのでマクロとして保存したくない
といった局面でVBAだと「マクロエディタ開いて処理書いてF5で実行してさっき書いた処理を削除」しなければならないので手間がかかる
それに加えてマクロ自体も思ったより冗長になってしまう
VBA以外のスクリプトだとショートカットキーでシェルウィンドウを開いてワンライナーのスクリプトを書いて実行するだけ
>>366みたいな処理もいちいちVBAに保存したりAddInで管理する必要もなくて、シェル開いてrubyのワンライナーを即興で書いて実行するだけ
LinuxやMacを使ったことがあるプログラマならこういった即興シェルプログラミングが便利ということは過去の経験で知ってると思う
同じことをWindows/Excelで実践するだけ

375 :デフォルトの名無しさん:2018/05/03(木) 23:09:25.04 ID:6szlQ+63.net
>>360
>>68だ。

376 :デフォルトの名無しさん:2018/05/03(木) 23:13:23.31 ID:6szlQ+63.net
バカばっかり。
1つのファイル以外は認めんと言われたらVBA以外全滅じゃねーかw

377 :デフォルトの名無しさん:2018/05/03(木) 23:15:07.58 ID:6szlQ+63.net
>>374
VBA以外だとショートカットキーになっちゃうんだw
VBAではショ―トカットキーは認めないと。

378 :デフォルトの名無しさん:2018/05/03(木) 23:17:08.59 ID:6szlQ+63.net
>>374
同じことはVBAでも出来る。
労力も変わらん。
結果は変わるな。
何故かファイルが増えて喜んでる奴もいるけど。

379 :デフォルトの名無しさん:2018/05/03(木) 23:19:38.12 ID:GbI/mLdw.net
>>377
どんなツールでもショートカットキーは生産性を高めるから積極的に使うべき
ただこの場合だと「ショートカットでVBAエディタ開いてマクロ書いて実行してマクロ削除」ってなるだけだからショートカットキー使っても手間はほとんど減ってないと思う
もしかしてなんか違う意味で言ってる?

380 :デフォルトの名無しさん:2018/05/03(木) 23:20:49.15 ID:GbI/mLdw.net
>>378
そうなんだ知らなかった
興味あるのでやり方教えて欲しい

381 :デフォルトの名無しさん:2018/05/03(木) 23:23:13.80 .net
別にマクロ削除しなくてもよくね?
当然そういう場合は編集中のブックにVBA書くような馬鹿な真似はせずに
個人用マクロブックに書くわけだから残しておいても問題ない
Macro1という名前でも何でもいいけどそのままにしておいて
次回中身だけ上書きすればいいだけの話

382 :デフォルトの名無しさん:2018/05/03(木) 23:24:29.44 ID:Ais7tPnB.net
「Excel」の「VBA」は「糞」派の人達は
Excelの「何」を他の言語で、「どんな目的」で使ってるのか
具体例出して話せば話が早いと思うんだ
でないと誰がなんの主張してんだか、もうワヤ

例えば何十という取引先から日々EDIでデータが入ってくる
CSVもありゃXLSもありXLSXも混在 そおゆうのを一発で取り込むのが目的 とかさ

ここで語ってるからには、なんかしかExcel絡みには違い無いんだろ?

383 :デフォルトの名無しさん:2018/05/03(木) 23:35:04.02 ID:GbI/mLdw.net
>>381
XLSTARTは知らなかったわ
非表示とはいえ無関係のWorkbookを開いてしまうのと、VBEを頻繁に開くのが嫌だから、個人的にはビミョーかな
スクリプティング環境が禁止されたら使ってみようかな

384 :デフォルトの名無しさん:2018/05/03(木) 23:41:06.78 .net
え、ひょっとしてここでVBA否定している人って、
単に自分が使い方知らないから否定しているだけなの?

385 :デフォルトの名無しさん:2018/05/03(木) 23:52:59.98 ID:ygisZEFQ.net
>>382
殆どデータ読取データ出力だな
あとは帳票にも使うことがある
Excel操作の拡張という点ではそもそも需要がないから滅多に使わない
拡張して効率化したくなるほど繰り返す手作業があるならバッチ化するから

VBA肯定派はどんな使い方してるのかな

386 :デフォルトの名無しさん:2018/05/03(木) 23:58:45.85 ID:6tA58iwA.net
>>258
おまえのSQLは20年前のSQLかw

387 :デフォルトの名無しさん:2018/05/04(金) 00:01:59.42 ID:S7XxJkuV.net
>>384
それはあると思うよ。さすがにExcelを使っていないのにExcel VBAでやるのはおかしいが、職場によっては制限をかけられていて仕方なくExcel VBAでやっているところもある。

388 :デフォルトの名無しさん:2018/05/04(金) 00:03:47.56 ID:S7XxJkuV.net
>>385
業務部門はIT技術者ではないから、Excel VBAで完結させるのは悪い手でもない。

389 :デフォルトの名無しさん:2018/05/04(金) 00:11:04.71 ID:ogBK84PN.net
>>374
VBAだって.xlamファイルを開きっぱなしにしておけば
イミディエイトウィンドウにワンライナー書いてエンターキー押すだけだよね。

390 :デフォルトの名無しさん:2018/05/04(金) 00:15:31.97 ID:/NfAbhGK.net
xlstartにxlsm放り込むの嫌い
xlamにしてアドインとしてスタートアップ時に読み込むの好き
VBA以外使うのもっと好き

391 :デフォルトの名無しさん:2018/05/04(金) 00:17:49.88 ID:/NfAbhGK.net
>>389
VBでワンライナーとかレベル高えな

392 :デフォルトの名無しさん:2018/05/04(金) 00:23:27.07 ID:Mh+MaH3B.net
VBA否定派は細かい機能調べる前にプラットフォームとしてイマイチだなと見切りをつけてるから知識が少なくても仕方がない
自分は今日XLSTARTを知ったけどだからといってそれでVBAが優れていると意見を変える材料になるとは思えない

>>389
開きっぱなしにしたくないかな
それにVBAでワンライナーはちょっと厳しいと思うよ

393 :デフォルトの名無しさん:2018/05/04(金) 00:35:39.41 ID:S6UwKMBg.net
VBAだとワンライナーで書ける処理と書けない処理があるからね

394 :デフォルトの名無しさん:2018/05/04(金) 02:10:30.37 ID:AXMemHLC.net
双方主張ばっかりせずに、単純なのでいいから具体的なコードで示してよ。
質問者には、「コードさらせ」っていつも言ってるのに、、、
いままでVBAで書いてたコードがどう効率的に書けるのか興味ある。

395 :デフォルトの名無しさん:2018/05/04(金) 04:35:49.90 ID:cfklXzOl.net
アホな上司が作った変なところに小計行がある帳票とか
各課様式無視の帳票を今日中に集計してくれとかもうアホかと。
ヤツら、シート関数なんかSUMしか知らないから計算は電卓でやって手入力で
結構間違ってるんだよ。俺が指摘すると「まーた変なプログラムみたいなのでやったんだろ、ちゃんと小数点以下
は切り捨てしたのか?電卓でやらないと合わないぞ」と時代に取り残された土人達に罵倒され殺意を覚える。


馬鹿ほどいくら言ってもセル結合大好きでどうってことないクロス集計をとても難易度の高いものにしやがるWW
一行1レコードにすりゃ使いまわしが効くからそうやれと言っても「いや、この方が見やすいから」とか言ってやんの。
顧客リストでも苗字と名前の間に全角スペース入れたり半角スペース入れたり何も入れなかったり。
こっちで決めたフォーマット以外では入力できないようにすると「これ、どうやってシートのロック外すの?」とか言っちゃって。

396 :デフォルトの名無しさん:2018/05/04(金) 06:01:25.83 ID:lY1aVWIy.net
>>375
???
どこをどう見たら>>68
> > 元々は、その時に最適なの使えって話に対して、どんな場合でもVBAがダメって論調から始まってる。
って解釈できるんだよ w

397 :デフォルトの名無しさん:2018/05/04(金) 06:11:21.88 ID:lY1aVWIy.net
>>394
確かにそうだな
とりあえず
>>366
> 全部のシートの表示倍率を100%にしてA1セルをアクティブにする
コードを晒してもらおう

398 :デフォルトの名無しさん:2018/05/04(金) 06:44:09.32 ID:nVbPTneC.net
>>397

比較のために
VBA, PowerShellのコードも欲しいけど

VBAならこんな感じかね

Sheets.Select
ActiveWindow.Zoom = 100
Range("A1").Select

399 :デフォルトの名無しさん:2018/05/04(金) 08:23:12.32 ID:x6LiaIKN.net
>>396
最適なの使えって論調だろ。

どんな場合でもVBAはダメって論調は自分で探せ。

400 :デフォルトの名無しさん:2018/05/04(金) 08:28:11.97 ID:x6LiaIKN.net
>>392
Rubyでエディタ開いてるのにVBE開いてるのは抵抗あるんだw

401 :デフォルトの名無しさん:2018/05/04(金) 08:35:32.21 ID:kV7vN9X3.net
うちの会社はシステムも人も20年遅れてるから、
エクセル万歳に加えて今更EUCが流行ってるん
ですが、この手のたぐいに関わると死ぬまで面倒を
見るさせられる事になりますよね。
しかも、なんら感謝も尊敬もされず対価も無しに。
そうかといって突き放す訳にもいかず対応に苦慮
していますが、皆さんはどうされてますか?

402 :デフォルトの名無しさん:2018/05/04(金) 08:42:59.52 ID:OKXWvsWr.net
>>401
いくらなんでも、そういう話をここでするのは場違いもいいとこだろ
プログラム板じゃなく上にあるプログラマー板の方でやれや

403 :デフォルトの名無しさん:2018/05/04(金) 08:48:16.16 ID:ogBK84PN.net
>>401
本意ではないけど
・全員にMOSを取らせる
・取ってない人間のEUC作成禁止
・ハードルを上げていく(MOS→IT Passport→FE)

404 :デフォルトの名無しさん:2018/05/04(金) 09:04:20.70 ID:2HQNn0mM.net
>>399
> どんな場合でもVBAはダメって論調は自分で探せ。
結局具体的に聞かれたら出せないのかよ w

405 :デフォルトの名無しさん:2018/05/04(金) 09:06:14.98 ID:ogBK84PN.net
>>401
ごめん最後の(MOS→IT Passport→FE)はちょっとやりすぎなので撤回。
でもこれは他山の石。変なEUCで問題が起こったあげく
「EUCは危険なもの」、「EUCは禁止すべきもの」
みたいな空気になっちゃったら最悪だし(実際そういう事例があるから)、
今のうちに少しでいいからハードルを上げておくのがいいよ。
ほんと本意ではないけど。

406 :デフォルトの名無しさん:2018/05/04(金) 09:09:28.77 ID:qxasih/r.net
>>398
ちょっと気になってたんだけどこれって3行じゃない。
セミコロンで繋げば1行になるけど
前ルビーストのにーちゃんが言ってた1ライナーって
まさかそういうオチじゃないよね

407 :デフォルトの名無しさん:2018/05/04(金) 09:25:42.46 ID:kV7vN9X3.net
>>405
ありがとうございます。

408 :デフォルトの名無しさん:2018/05/04(金) 10:13:13.03 ID:ogBK84PN.net
どんな場合でもVBAがダメっていう論調
 ↓
>>152
>>265
>>287
>>330
>>343
>>351

409 :デフォルトの名無しさん:2018/05/04(金) 10:17:40.31 ID:Q6Zr3YZb.net
>>406
まだかな、まだかな〜〜
る・び・−の、おじちゃん、まだかな〜〜〜

410 :デフォルトの名無しさん:2018/05/04(金) 10:23:48.86 ID:2HQNn0mM.net
>>408
どのレスも「どんな場合でも」と言うようなことは書かれてないようだが?

411 :デフォルトの名無しさん:2018/05/04(金) 10:27:50.67 ID:ogBK84PN.net
>>410
俺には見える(

412 :デフォルトの名無しさん:2018/05/04(金) 10:33:16.06 ID:2HQNn0mM.net
>>411
具体的にどのレスのどこの部分でそう思ったんだ?

413 :デフォルトの名無しさん:2018/05/04(金) 10:39:15.47 ID:GR9wczdx.net
否定的に断言するには「如何なる場合にあっても」という暗黙の条件が無いと成立しない文脈だからな
部分的であってもVBAがダメじゃない場合を認めるなら今までゴチャゴチャ言ってたのは何なんだって話だし

414 :デフォルトの名無しさん:2018/05/04(金) 10:47:42.69 ID:UgjU7AE+.net
>>412
あのレスを読んでVBAも適材適所で使えるって感じるなら日本語勉強した方が良い。

415 :デフォルトの名無しさん:2018/05/04(金) 10:51:22.46 ID:ogBK84PN.net
>>152 「VBAではまともに開発できないってのは事実だね」「VBAというプラットフォームが貧弱すぎて並の業務システムとしての利用に耐えられない」
>>265 「VBAの言語機能がレガシーすぎてとてもじゃないが便利とは言えんな 」
>>287 「VBA最弱でOK」
>>330 「ほとんどの状況でVBA以外でExcel使ったほうがやりやすい VBAの言語仕様が古臭いから 」
>>343 「VBAでやるべきだという積極的な理由がなければVBA以外の言語を使うべき 〜VBAでやるべき場面は何かというと殆どなくて」
>>351 「VBAがダメってのはスタートじゃなく結論」

416 :デフォルトの名無しさん:2018/05/04(金) 10:52:42.19 ID:ogBK84PN.net
作者の気持ちを考えて「どんな場合でもVBAがダメっていう論調 」のリストにあげさせていただきました

417 :デフォルトの名無しさん:2018/05/04(金) 10:55:21.64 ID:2HQNn0mM.net
>>413
> 部分的であってもVBAがダメじゃない場合を認めるなら今までゴチャゴチャ言ってたのは何なんだって話だし
はあ?
一部の人間は知らんが大抵の人間は適材適所を認めててVBAがダメなケースの話をしてたと思うが

>>414
結局最後はその手の逃げかよ w

418 :デフォルトの名無しさん:2018/05/04(金) 11:06:38.62 ID:GR9wczdx.net
>>417
適材適所を認めている人間が、VBAがダメと言い出す一部を煩がっている構図だからその論法は通じない
VBAが適切でない場合があるのはともかく、だからPowerShellにしろRubyにしろは趣旨が異なる

419 :デフォルトの名無しさん:2018/05/04(金) 11:18:38.45 ID:2HQNn0mM.net
>>415
レスアンカー大杉なので分割 (1/2)

> >>152 「VBAではまともに開発できないってのは事実だね」「VBAというプラットフォームが貧弱すぎて並の業務システムとしての利用に耐えられない」⇒ VBAは業務システム以f外にも使われる、>>366程度の奴から業務システムと強弁するなら別だが

> >>330 「ほとんどの状況でVBA以外でExcel使ったほうがやりやすい VBAの言語仕様が古臭いから 」⇒ ほとんどの状況 ≠ どんな場合でも

420 :デフォルトの名無しさん:2018/05/04(金) 11:19:31.94 ID:2HQNn0mM.net
続き (2/2)

あとの>>265, >>287, >>343, >>351は同一人物(ID:ygisZEFQ)なのでこいつが1人騒いでるだけ
こいつは色々おかしいからスルーしとけ w

421 :デフォルトの名無しさん:2018/05/04(金) 11:21:29.76 ID:2HQNn0mM.net
>>418
どの論法の話かわからんし、お前の言いたいこともよくわからん
もっと整理してからレスしてくれ

422 :デフォルトの名無しさん:2018/05/04(金) 11:34:04.08 ID:ogBK84PN.net
>>419
プラットフォームや言語機能など根底の部分に対して”貧弱"とか"レガシー"などの評価をしてるから、
それは「いつだってVBAはダメ」という気持ちを持ってるんだよ。自分はそう解釈している。

423 :デフォルトの名無しさん:2018/05/04(金) 11:38:00.69 ID:rmywIw/1.net
自分はそういう気持ちがあるな
でも言い出すとCOMがクソとかOfficeがクソとかスレチの話題にしかならん

424 :デフォルトの名無しさん:2018/05/04(金) 11:46:43.49 ID:2HQNn0mM.net
>>422
そりゃ業務システムレベルの開発とかならプラットフォームや言語の機能が問題になるからね
裏を返せば小規模ならそう言うことより簡単に使えるとかの方が重要になる
って書かれてることすら理解できないの?
引っ込みつかないのか頭が固いのか知らんけどもう少し落ち着いた方がいいと思うよ

425 :デフォルトの名無しさん:2018/05/04(金) 11:51:21.62 ID:ogBK84PN.net
>>424
それ正しいの?
全然理解できませんね

426 :デフォルトの名無しさん:2018/05/04(金) 11:52:45.32 ID:ogBK84PN.net
>>424
少なくとも >>152>>265>>287がそんなニュアンスで書いているとは全く思えないね

427 :デフォルトの名無しさん:2018/05/04(金) 11:55:33.57 ID:ogBK84PN.net
>>424
そもそも業務システムレベルの開発がExcel VBAの守備範囲外なんだから、「裏を返せば〜」なんてナンセンスな主張だよ。

428 :デフォルトの名無しさん:2018/05/04(金) 12:17:16.67 ID:Bbccs1tm.net
一行1レコード の形式で保存されたExcel に限り VBAは貧弱   と、彼らは仰ってる
ま、そんなお行儀のいいファイルならむべなるかな

而して、世間にはワープロ代わりのExcelも多数存在するのも現実で
それを否定するなら行政レベルでトップダウンするぐらいの同調圧力を要する

建設現場で採ったデータを表形式にしてその部分をCADに貼り付ける
なんてぇ場面にもExcelは大活躍していたりする
で、その表のあるファイルには別シートに作業の進捗を書き込んだり出勤簿を書き込んだり
使用部材をまとめたりと、その現場の詳細をほぼすべて網羅した成果表の体を成してたりする

他社がそんな管理してるのを知れば、うちもうちもとその周辺は一気に同じ業務体系に雪崩れこむ

具体例の一端だが、んなもんExcel要らねえよ という意見は賛成できるが、ではと、それらを
網羅したシステムは果たしておいくら万円になるのか? 果たしてそれが普及するのか?
ちょくちょく変更される要求事項をエンドユーザー任せで自在に改変できる仕様の「データ保存システム」が
4〜5万円で手に入れられるなら 大多数はExcelを選択するだろう  で、その頻繁に発生する変更に
ユーザーレベルで対応するのにVBA使って手直ししていく  って需要は無くならないだろ、と   はあ、後半面倒くさくなった

429 :デフォルトの名無しさん:2018/05/04(金) 12:24:19.19 ID:JYHlDWX6.net
>>424
日常の些細な作業は繰り返し積み重ねるもの
大規模システムでなくともプラットフォームや言語機能の差は大きいよ

430 :デフォルトの名無しさん:2018/05/04(金) 12:28:55.33 ID:uwR6wCpj.net
お前さんが理解できるかどうかはどうでもいいよ
とりあえずレスを1つにまとめるところから始めようか w

431 :デフォルトの名無しさん:2018/05/04(金) 12:30:16.68 ID:uwR6wCpj.net
>>429
>>366程度ならたいして変わらん
って書いてあるんだが...

432 :デフォルトの名無しさん:2018/05/04(金) 12:43:47.52 ID:JYHlDWX6.net
>>428
そういうCRUD+αみたいな大量生産向けシステムならそれこそオープンソースフレームワークでサクッと作っちゃえば?
まあ社内SE1人の人件費で十分じゃないかな
仕事として発注すると桁違いの価格でボッたくるられるからそれはオススメしないけどw

433 :デフォルトの名無しさん:2018/05/04(金) 12:49:12.60 .net
>>432
見積もり600万円くらいってこと?

434 :デフォルトの名無しさん:2018/05/04(金) 12:57:22.08 ID:UgjU7AE+.net
>>424
結局、Excel以外の話にすり替えて逃げんのかよw

435 :デフォルトの名無しさん:2018/05/04(金) 14:15:24.95 ID:uwR6wCpj.net
>>434
はあ?
お前は話の流れも読めないのかよ w

436 :デフォルトの名無しさん:2018/05/04(金) 14:29:21.78 ID:UgjU7AE+.net
話の流れ??
ExcelでもVBAは使えない、powershellのがマシ、から始まってる流れなんだけど、知らんの?
VBAはダメって奴が急にExcel以外に話広げ始めたんだけど。
前スレから読み直せよw

437 :デフォルトの名無しさん:2018/05/04(金) 15:43:35.80 ID:3JKVpa/5.net
ここのスレタイ、「Excel VBA 質問者を混乱させるスレ」 だったっけ?
他言語信者の人たちのスゴさはもうわかったから。

もういいかげん余所でやればいいのに。誰得なん?

438 :デフォルトの名無しさん:2018/05/04(金) 15:44:03.93 ID:3JKVpa/5.net
ここのスレタイ、「Excel VBA 質問者を混乱させるスレ」 だったっけ?
他言語信者の人たちのスゴさはもうわかったから。

もういいかげん余所でやればいいのに。誰得なん?

439 :デフォルトの名無しさん:2018/05/04(金) 17:25:08.11 ID:0EOMg244.net
イヤー
GWってスレが荒れるなぁ

440 :デフォルトの名無しさん:2018/05/04(金) 17:26:59.52 ID:zYpahogT.net
GW明けたらまた質問を持ってくるのでそれまでは時間を潰しててください

441 :デフォルトの名無しさん:2018/05/04(金) 18:03:23.64 ID:u4+2pSW/.net
>>404
バーカ。
いっぱいあるし簡単に見つかるから自分で探せってことだ。

だいたい、VBAがOffice環境抜きにして他言語より優位性があると考える奴なんて常識的にあり得んのはよっぽどバカ以外あり得んだろう。

そう考えれば当然の帰結だよ。
そんなことも分からないからバカにされるんだぞ。

442 :デフォルトの名無しさん:2018/05/04(金) 18:11:27.76 ID:u4+2pSW/.net
>>419
あのね、君が反論してる人達は、君の言うおかしい人に対して反論してこういう議論になってるってことを理解しような。

君だけ話の流れが読めて無いだけだろ。

443 :デフォルトの名無しさん:2018/05/04(金) 18:12:41.57 ID:ogBK84PN.net
Office環境抜きじゃさすがに厳しいな。

444 :デフォルトの名無しさん:2018/05/04(金) 18:34:48.62 ID:GR9wczdx.net
VBAはVBAであってVBじゃないから・・・

445 :デフォルトの名無しさん:2018/05/04(金) 19:12:25.67 ID:neB5oFyO.net
>>442
そいつは真正のバカやから相手にしても無駄やw

446 :デフォルトの名無しさん:2018/05/04(金) 19:20:45.92 ID:qxasih/r.net
>>441
そんな当たり前のこと言われても。
VBAのAはアプリケーションのAだから
当然EXCELやACCCESS 、POWERPOINT、WORDとか、それに付随したアプリに特化してる。
逆をいうとアプリ内のことをやらせるなら
ほぼ最強とも言える

447 :デフォルトの名無しさん:2018/05/04(金) 19:25:35.70 ID:AeMEtXjU.net
まとめ

純粋な言語としての優劣で言えばVBAは劣っていると言うしかない
ブック一つで完結するような小さな世界では敷居の低さがメリットと言えなくもない
しかし他のエコシステムを知ってる人からするとVBAの敷居が特別に低いという印象はない
というかExcelというプラットフォームに依存する事自体が大きなデメリットとなる

448 :デフォルトの名無しさん:2018/05/04(金) 19:32:27.09 ID:u4+2pSW/.net
>>447
まるっきりバカの引きこもりに言われてもねえ。
ビジネスで―番使われてるExcelを否定してどうすんだ?

Excelはダメと会社で言ってみろ。
おかしい人と思われるのがオチだ。

449 :デフォルトの名無しさん:2018/05/04(金) 19:34:09.75 ID:u4+2pSW/.net
だいたい言語の優劣の話をするような奴にはろくな奴がいねえ。
できる奴ならどんな言語でも文句も言わずに使ってるわ。

450 :デフォルトの名無しさん:2018/05/04(金) 19:38:26.12 ID:AeMEtXjU.net
excelはダメだっていうと何を今更と同意される事が多い
でもバカな客と付き合っていくにはExcel使うしかないのも事実だよなぁって諦めのため息もセットで返ってくる

451 :デフォルトの名無しさん:2018/05/04(金) 19:38:50.18 ID:ogBK84PN.net
>>447
エコシステム?

>>449
それは幻想的すぎる

452 :デフォルトの名無しさん:2018/05/04(金) 20:12:15.32 ID:+QSKZiq4.net
>>436
お前が読み直せ、バカ
PowerShell でも Ruby でも C# で論調はもたいして変わらん
そんなことも理解できてないのかよ w

453 :デフォルトの名無しさん:2018/05/04(金) 20:15:07.24 ID:GR9wczdx.net
「純粋な言語の優劣」とか「小さな世界」とか、なんとか自分の土俵に引きずり込もうとしてるけど、
結局のところ「自分が使い慣れた言語が一番使いやすい!」っていう主張に過ぎないっていう・・・

454 :デフォルトの名無しさん:2018/05/04(金) 20:18:18.62 ID:+QSKZiq4.net
>>441-442
だからせめてまとめてレスしろよ
話をまとめることもできないのかよ

そもそも>>415の後に
> いっぱいあるし簡単に見つかるから自分で探せってことだ。
とか恥ずかしすぎるだろ...

Excel 前提の VBA に Office 抜きとかアホなこと言い出してるし w

455 :デフォルトの名無しさん:2018/05/04(金) 20:21:09.17 ID:+QSKZiq4.net
>>448
> Excelはダメと会社で言ってみろ。
> おかしい人と思われるのがオチだ。
>>450じゃないけど普通に同意されるわ
ただ他に選択肢がないから使わざるを得ないだけ

456 :デフォルトの名無しさん:2018/05/04(金) 20:21:40.32 ID:u4+2pSW/.net
>>452
バカは本当に勘弁してくれ。
>>436がどういう内容に反論してるか、それまでの話の流れがどういうものか理解してから反論してくれ。

お前のようなバカがいるからVBAはどんな時でもダメって奴と大抵の場合はダメって奴とどんな時でもVBAは優れていると言われたと勘違いした奴を相手にしなくちゃならなくなる。

457 :デフォルトの名無しさん:2018/05/04(金) 20:23:46.92 ID:u4+2pSW/.net
>>454
日本語も分からないのかよ。
それとも話の流れを読むのを最初から放棄してるのかどっちだ?

458 :デフォルトの名無しさん:2018/05/04(金) 20:26:12.72 ID:u4+2pSW/.net
>>455
会社でWindowsはこれだからダメってぶつぶつ言ってる奴がいるが本人が気付いて無いだけでおかしい奴と思われてる。
お前と似てるな。

459 :デフォルトの名無しさん:2018/05/04(金) 20:32:21.30 ID:OKXWvsWr.net
お前ら一体何時まで、愚にもつかない話続ける気?

460 :デフォルトの名無しさん:2018/05/04(金) 21:02:31.63 ID:KGBSeWYt.net
VBAってドットNETじゃないんだね

461 :デフォルトの名無しさん:2018/05/04(金) 21:21:58.21 ID:+QSKZiq4.net
>>456
理解力がないのに無理すんな w
お前が見境なくレスしてるから泥沼になってるだけだぞ

462 :デフォルトの名無しさん:2018/05/04(金) 21:22:53.36 ID:cfklXzOl.net
>>458
>会社でWindowsはこれだからダメってぶつぶつ言ってる奴がいるが

Macの方が良いに決まってるじゃん。Win10はシステム担当泣かせの酷いシロモノだよ。

463 :デフォルトの名無しさん:2018/05/04(金) 21:24:06.91 ID:+QSKZiq4.net
>>457
> 日本語も分からないのかよ。
指摘されて反論できない低能がよく言う言葉だな w

464 :デフォルトの名無しさん:2018/05/04(金) 21:28:25.18 ID:+QSKZiq4.net
>>458
Excel の話してるのに Windows とか言い出しちゃうとか頭おかしい
そもそも誰もお前の会社に興味ないし w

465 :デフォルトの名無しさん:2018/05/04(金) 21:31:31.13 ID:+QSKZiq4.net
>>460
.NETなら言語としてはかなりマシになるんだけどそうしなかったのはVBA使ってた利用者がついてこれるかが疑問だったのかもな

466 :デフォルトの名無しさん:2018/05/04(金) 22:17:13.18 ID:qxasih/r.net
>>465
それもあるかも知れないけど
別に.Netのようにデカいシステムを作る訳じゃないからそのように発展する必要も無かったんだよ。

だからVBAをやってる人達は
モデルどころかクラスやポリモーフィズムを知らない人も多い。
でも仕方ないよね。それが通用する世界なんだから。

まぁ逆に言えばそれだけ間口の広い言語で
比較的誰でも作り易い言語というのも確か。

そんな世界にやって来て荒らすようなことばかり言ってれば
周りから排除されるようなこと言われるのも当然と言えば当然だよね。

467 :デフォルトの名無しさん:2018/05/04(金) 22:45:53.35 ID:neB5oFyO.net
まだプロさんごっこしとるのかこのバカ達はw
いい加減にしろ低能ども

468 :デフォルトの名無しさん:2018/05/04(金) 22:52:24.73 ID:ogBK84PN.net
>>466
じゃあちょっとフェルミ推定でもしてみるか

デスクワーク主体の仕事をしている非IT系の人を母数として
日常的にOfficeソフトに触れている    80%
うちVBAをやってる      10%  (累計 8.0%)
〃分析・設計を意識してる   30%  (累計 2.4%)
〃クラスを知ってる      90%  (累計 2.16%)
〃ポリモーフィズムを知ってる 20%  (累計 0.43%)

これがIT系となるとOfficeソフトに関わるかどうか関係なくほぼ全員が
クラスやポリモーフィズムを知ってると言えるだろうか。

469 :デフォルトの名無しさん:2018/05/04(金) 23:02:46.28 ID:FNYKVu0a.net
>>465
うわ、この馬鹿
.NETが言語だとか言い始めたぞ

470 :デフォルトの名無しさん:2018/05/04(金) 23:33:40.69 ID:PShZiAFS.net
>>452
え?
マジで言ってる?
C#もるびーも後からインストールしないとできないよ?
唯一powershellだけ使えるけど、Excel操作だけに特化した場合、VBAと比べてどれほど優位性があるのか。
何でもかんでも勝手にインストールできる会社ばかりじゃないし、VBAユーザーがエンジニアだけじゃなく事務職とか他の職種にも多いとかそう言う話も含めての流れだと思ったけど、日本語読めないバカには分からんかw


だからVBAでシステム組むとかあほな話に展開するんだねw

471 :デフォルトの名無しさん:2018/05/05(土) 00:06:46.22 ID:BI5aBgXm.net
>>461
お前が流れを理解せずに頓珍漢なこと言ってるんだからバカにされても仕方あるまい。

>>463
だから、お前がレスしてる相手がどういう議論の流れからああいう発言をしたのか理解してからレスしろよ。
それが全く出来てないんだから日本語が理解出来ないと言われるんだ。

>>464
ほら見ろ。
>>462のような奴と一緒なんだよ。お前は。
そんなこと言ったって殆どの会社はWindows使ってるのに。

472 :デフォルトの名無しさん:2018/05/05(土) 00:08:18.78 ID:BI5aBgXm.net
>>470
っていうか、ずっとそれ言ってるんだけど理解出来ないんだ。
よっぽど彼らは頭悪いぞ。

473 :デフォルトの名無しさん:2018/05/05(土) 00:47:39.94 ID:yoXg86RX.net
>>470
無知ってこわいね

474 :デフォルトの名無しさん:2018/05/05(土) 00:49:14.66 ID:cuzWr0GO.net
>>468
少なくても話の主体になっている.Netを使っている人ならほぼ全員がクラスくらいは知ってるよ
何せObject指向言語だから基本になってるそれを知らないと話にならない。

でもね、そんなことはどうでもいいんだ
ここはVBAのスレなんだから。
知ってれば使えばいいし
知らなくても知らないなりのものが組める。

こういう例え方して分かるかどうか微妙だとは思うけど
構造化言語であるVBAでGoto文はなるべく使わない方がいい。
エラーのハンドリングなど特例はあるものの、
構造化の考え方を崩しかねないものだから。

それをアセンブラのスレに行って
VBAのGoto文に当るジャンプ命令はなるべく使わない方がいい。構造化の考え方を崩しかねない。
なんて言ったら当然のように猛反発を食らうことになる。

つまり畑違いのところに行って自分の考えを
押し付けようと言うのはナンセンスということ。
VBAは元々初心者は初心者なりの、
上級者は上級者なりのものが組める間口の広さも
利点のひとつなのだから
押し付けたいのなら自分の畑に戻って勝手にやればいい。

475 :デフォルトの名無しさん:2018/05/05(土) 01:15:45.29 ID:oZF5wUOA.net
喩えが的外れ
アセンブラスレでリッチなUWPアプリ作りたいです!という質問にC#使えみたいな極めて正しい回答をしてるだけだ

それにVBAが窓口広いとか冗談だろ
決まり事なので以外に説明しにくい洗練されてない言語仕様で初心者向けとは口が裂けても言えないし
上級者に対して窓口開くならVB.netになって出直してこいとしか

476 :デフォルトの名無しさん:2018/05/05(土) 01:50:59.03 ID:cuzWr0GO.net
>>475
アセンブラでUWP?
何か勘違いしてないか?
通常UWPを触れるのはIl、Windows間との中間言語であって厳密にはアセンブラとはまた別物だ。

VB.Netだって未だにGoSubなんて過去の負の遺産が残ってたり
Formを生成させなければ使えなかったものが
難し過ぎると受け取られて生成しなくても
暗黙のインスタンスが出来るようになったり
右往左往している部分がある。
ましてやVBAは元々古い言語なのだから
そんなことは有って当たり前。

C#が洗練された言語なのは分かるが
元々デカいシステムの保守やひとつのシステムに
複数人が掛かって作成されることまで考慮された言語だ。
最初からそういうものを目指して作っていくのなら
その意見は正しいとは思うが
VBAはそこまでの保守性も求めないものや
ましてや一度に一つのEXCELに対して複数人がVBAで開発を行うシュチュエーションなどそうそうない。

だからそこまでの知識も要らないし
初心者でも手軽に作ることが出来る。
知識があるものはそれを使って作って行けばいいが
押し付けるものではない。

畑違いの人はまず一般的に言われているシステムと
VBAで作るツールの違いを理解して頂かないと
話が噛み合うはずもない。

477 :デフォルトの名無しさん:2018/05/05(土) 01:55:17.65 ID:TT2h6sAS.net
だめだ話が通じねえ

478 :デフォルトの名無しさん:2018/05/05(土) 05:23:12.41 ID:N9S74U1A.net
>>471
ブーメランすぎる
アホなお前がテキトーな理解で掻き回してるだけ
>>462にしてもお前がWindowsとか言い出したから食い付いて来たんだぞ
そんなことも理解してないで何が話の流れだよ w

479 :デフォルトの名無しさん:2018/05/05(土) 05:32:00.27 ID:N9S74U1A.net
>>470
インストールの話は会社によって様々で普通にインストールできる会社もある
って話も出てたはずだが?
あと今時C#コンパイラは標準装備だよ?

480 :デフォルトの名無しさん:2018/05/05(土) 05:33:54.91 ID:N9S74U1A.net
>>469
さすがにこの文脈でVB.NETのことを指してると思えないアホがいるとは恐れいったわ w

481 :デフォルトの名無しさん:2018/05/05(土) 06:14:16.66 ID:iSLee/LC.net
ID:N9S74U1A

後付けの言い訳ばっかの馬鹿

482 :デフォルトの名無しさん:2018/05/05(土) 06:38:33.56 ID:N9S74U1A.net
>>466
お前さんの見てる世界が狭いだけじゃね?
業務システムの一部としてExcel使ってる例はごまんとある
あとVB.NETだからと言って無理にポリモーフィズムなんて使わなくてもいい
リストとかハッシュとか便利な.NETライブラリだけ使うとかでもいい

483 :デフォルトの名無しさん:2018/05/05(土) 06:49:20.44 ID:II6m7tZa.net
まぁ要するに「複数の言語使える僕ちゃんスゴイ」を言われたくてやってんだろうけど
仕事だろうが趣味だろうがプログラムやってりゃ複数の言語使えるようになるのが普通なんで
どっかの現場でVBAすらまともに扱えないヤツを相手にするならともかく
色んな人間が書き込む場所でやったって満足できる結果にはならんわな

484 :デフォルトの名無しさん:2018/05/05(土) 07:28:20.54 ID:BfpDb3xn.net
>>479
C#をメモ帳で書くのか?スゴイねw

485 :デフォルトの名無しさん:2018/05/05(土) 07:33:52.33 ID:BfpDb3xn.net
>>482
OOPがサポートされてないと非モダンなVBAを批判するのに多態性は使わなくて良いのかw
お前、理解してないだろw

486 :デフォルトの名無しさん:2018/05/05(土) 08:25:06.82 ID:cuzWr0GO.net
>>483
前何かVBAで格闘ゲーム作ってる人のヒットマーク位置の質問してた人に
「〜が出来る僕ちゃんスゲーって言われたいんだろ」って言ってた人か。

VBAは色んな状況や立場の人が使ってるから
別に自分の知らないことを知ってるからって不思議でも偉くとも何ともないけど
それを妬むのはよくないと思うよ。

487 :デフォルトの名無しさん:2018/05/05(土) 08:36:30.03 ID:cuzWr0GO.net
>>484
これは冗談みたいな話だけど以前C#をメモ帳で書いたことがある。

.NetFreamworkが入っててVisualStudioが入ってない環境で
VisualStuduoインストールの申請が降りるまで少し時間が有ったのでそれまで
ビジネスロジック部をメモ帳で書いてた。

一応コンパイルも出来るし実行も出来るけど
インテリセンスの全く効かない状況でやるのは
結構辛かった記憶があるわ。

488 :デフォルトの名無しさん:2018/05/05(土) 08:40:14.96 ID:N9S74U1A.net
>>484
別にたいしたことではないと思うがお前にはスゴいことに思えるんだろうな w

489 :デフォルトの名無しさん:2018/05/05(土) 08:43:38.96 ID:N9S74U1A.net
>>485
多態性だけが全てじゃないしな
よくわかってない奴ほど全ての機能を使おうとするんだよな
所詮道具なんだから自分にとって便利だと思う部分だけ使えばいいのにね w

490 :デフォルトの名無しさん:2018/05/05(土) 08:44:54.66 ID:N9S74U1A.net
>>487
まあ面倒ではある
でもすごいこととは思えないよね

491 :デフォルトの名無しさん:2018/05/05(土) 08:53:03.82 ID:II6m7tZa.net
「全てをムリヤリ使う必要はない。便利だと思う部分だけを使えばいい」と言いつつ
「世界はVBAだけじゃない!他にもっと言語はあるからムリヤリ使え!」と言い出す矛盾

492 :デフォルトの名無しさん:2018/05/05(土) 09:01:46.50 ID:BfpDb3xn.net
>>489
スゲェ、多態性が全てじゃないってオブジェクト指向全く理解してない発言だって分からないんだろうなw
デザインパターンとかお勉強した方が良いですよw

493 :デフォルトの名無しさん:2018/05/05(土) 09:05:16.60 ID:BfpDb3xn.net
>>488
それでVBAより作業が早いなら、本当にすごいと思うけど、オブジェクト指向すら理解できないレベルだからまぁ知れてるよねw
開発環境がない上に君の言う多態性すら必要ない発言を合わせてどれほど優位性があるのか説明してもらいたいよw

494 :デフォルトの名無しさん:2018/05/05(土) 09:27:09.09 ID:cuzWr0GO.net
>>492
まぁそうだね。これがVBAだけやってる人の発言なら問題ないかも知れないけど
VB.Netやってての発言ならObject指向の存在価値全否定してるようなものだからね。

そんな人にデザインパターンとかは
まだちょっと早いんじゃないかな?

495 :デフォルトの名無しさん:2018/05/05(土) 09:33:08.82 ID:LicTraOR.net
VBAがホットなのかレガシーなのかは偏にMSのロードマップ次第じゃないの
VBAのサポートがずっと続くと見てるならばそれ自体有力な材料になるはず

MSの動きそっちのけで最強だの最弱だのはいくらなんでも無意味なんじゃ

496 :デフォルトの名無しさん:2018/05/05(土) 09:37:40.26 ID:N9S74U1A.net
>>491
デザインパターン w
聞いてもないのに知ったかがよく使う言葉がぞろぞろ出てきて笑うわ

497 :デフォルトの名無しさん:2018/05/05(土) 09:41:08.55 ID:N9S74U1A.net
>>493
多態性云々はVB.NETの話
開発環境云々はC#の話
混ぜて話すのは頭が悪いのか?
それとも混乱させてごまかそうと必死なのか? w

498 :デフォルトの名無しさん:2018/05/05(土) 09:47:35.00 ID:BfpDb3xn.net
>>497
それで混乱しちゃうの?
OOPがサポートされてない古くさいんだろ、VBAは。
じゃあサポートされてる言語では活用するのが当然だと思ったけど違うのか?

マジで恥ずかしいレスしてることが理解できないの?

499 :デフォルトの名無しさん:2018/05/05(土) 10:03:32.45 ID:DnMdiEfY.net
>>498
この人ねえ、根本的に頭悪いんだわ。
スキルの問題じゃなくて。

だからあんたの意図も読めて無いんですな。
論理的じゃ無いんだろうね。
ここまでず一っと同じ感じで破綻した話ばかりしてる。
今にオブジェクト指向も必要無くても、便利な機能を使わなくても、レガシーな使い方しかしなくてもVBAじゃなければ素晴らしいと言い出すぞ。

500 :デフォルトの名無しさん:2018/05/05(土) 10:04:07.55 ID:TTUQSH5z.net
>>498
もろお前が混乱してるだろ w

> OOPがサポートされてない古くさいんだろ、VBAは。
そうだよ、事実でしょ?

> じゃあサポートされてる言語では活用するのが当然だと思ったけど違うのか?
なんで全員が活用する必要があるんだ?
必要だと思う奴が使えばいいだけだろ

> マジで恥ずかしいレスしてることが理解できないの?
お前のレスのことを言ってるならよく理解できるよ w

501 :デフォルトの名無しさん:2018/05/05(土) 10:08:34.52 ID:DnMdiEfY.net
それぞれにメリット、デメリットが有るのにVBAのメリットについては無くても良い「場合」が有ると、部分的事象で全否定し、他言語で無くても良い「場合」については何故か必須になってるんだよ。
この人は。

全く論理的じゃない。

502 :デフォルトの名無しさん:2018/05/05(土) 10:11:25.64 ID:DnMdiEfY.net
>>500
じゃあ必要と思ってない奴にとってはVBAで問題ないと言いたいのかね?

503 :デフォルトの名無しさん:2018/05/05(土) 10:14:07.65 ID:BfpDb3xn.net
OOPがサポートされていない言語は古くさくてダメ!
例えメモ帳しかなくてもC#のがマシ!
でも、オブジェクト指向は使わない!
多態性は理解できない!
デザインパターンは知ったかぶり!
VB.netとC#は全くの別物なので同時に話す奴は混乱している!

以上を理解できない奴は頭が悪い!

504 :デフォルトの名無しさん:2018/05/05(土) 10:16:05.89 ID:Quj/VaeY.net
>>500
活用するしないじゃなくて
多態性はObject指向の根底をなす部分だからだよ。

それを使わなくていいということは
別にObject指向言語じゃなくていいじゃんってことになる。

505 :デフォルトの名無しさん:2018/05/05(土) 10:31:48.06 ID:TTUQSH5z.net
>>504
> 活用するしないじゃなくて
> 多態性はObject指向の根底をなす部分だからだよ。
だからなに?

> それを使わなくていいということは
> 別にObject指向言語じゃなくていいじゃんってことになる。
いいんじゃないの?
たまたまVB.NETの話が出てるからオブジェクト指向言語云々と言う知ったかさんが来てるだけで使える言語の使える部分を便利に使えばいいだけだろ?
俺は一応多態とかも使えるから使うけど関係ない人に使えとかは言わないよ

506 :デフォルトの名無しさん:2018/05/05(土) 10:34:08.38 ID:TTUQSH5z.net
>>502
そんなことを言ってないし
お前の理解力が足りないだけ
まあ>>499, >>501とか見たら単に煽りたいだけなんだが失敗してるって感じしかしない w

507 :デフォルトの名無しさん:2018/05/05(土) 10:37:32.47 ID:BfpDb3xn.net
一応使えるから多態も使う!

このレスの時点で意味理解してないこと丸出しなんだけどw

508 :デフォルトの名無しさん:2018/05/05(土) 11:04:21.82 ID:Quj/VaeY.net
>>505
だからそれだったらVB.Netの話出す必要もなければ
VB.Netを知っていると言うことは
ある程度Object指向のことも知ってると思ってこっちはレスするじゃない。
まともに使ったことないなら最初からそう言えばいいのに・・・

ちょっとガッカリ

509 :デフォルトの名無しさん:2018/05/05(土) 11:15:37.16 ID:TTUQSH5z.net
>>508
バカなの?
俺がオブジェクト指向知ってることとVBA使ってた奴等がオブジェクト指向使えるかどうかは別の話
そもそも>>465
> .NETなら言語としてはかなりマシになるんだけどそうしなかったのは「VBA使ってた利用者が」ついてこれるかが疑問だったのかもな
って明記してあるのに...

510 :デフォルトの名無しさん:2018/05/05(土) 11:33:42.38 ID:Nv1xEN+m.net
>>509
それはVB.Netをまともに理解していない君が口走るのはおこがましいと思う

511 :デフォルトの名無しさん:2018/05/05(土) 11:39:51.52 ID:tjPqjwLQ.net
>>509
おまえはもう黙れ。というかまだしゃべる許可は与えとらんよ。

このスレの皆様へ
この度はバカの ID:TTUQSH5z を野放しにしてしまい、皆様に多大なる
ご迷惑をおかけした事、深く陳謝いたします。
今後は更なる監視の強化を行ない、二度とこのバカが勝手な発言を行えないよう
務めてまいりますので何卒ご理解の程お願い致します。

512 :デフォルトの名無しさん:2018/05/05(土) 11:48:08.54 ID:TTUQSH5z.net
>>510
だから俺の話なんて元々してないんだが...

513 :デフォルトの名無しさん:2018/05/05(土) 11:49:15.85 ID:TTUQSH5z.net
>>511
5ちゃんオーナー現る!!
こうですか? w

514 :デフォルトの名無しさん:2018/05/05(土) 11:51:38.73 ID:Quj/VaeY.net
>>512
もういいから
おまえちょっとヤキソバパン買ってこい

515 :デフォルトの名無しさん:2018/05/05(土) 12:17:24.31 ID:TTUQSH5z.net
はい、ごまかしモード入りましたー w

516 :デフォルトの名無しさん:2018/05/05(土) 12:19:45.99 ID:yoXg86RX.net
>>493
メモ帳C#のほうが生産性が高いと思う
洗練されたオブジェクト指向サポート
モダンな言語機能
これだけでもだいぶ楽になる
シンタックスハイライトとインテリセンスはあくまでオマケかな
まあでもVBAよりマシってだけだから最初から全てが揃ってるPowerShellを使ったほうがいいけどな

517 :デフォルトの名無しさん:2018/05/05(土) 12:43:41.18 ID:NYhud1FJ.net
はやくGW終わらないかなぁ
とりあえず生産性どうこう言ってるやつは、どういう物を生産するのかはっきりしてから話してくれ

っと思ったけどPS最高君だったか
すまん、この書き込みともども無視しといてくれ

518 :デフォルトの名無しさん:2018/05/05(土) 12:49:42.90 .net
で、 >>397-398 の答えはまだかね?
Rubyでのワンライナーの書き方を待ってるんだが

519 :デフォルトの名無しさん:2018/05/05(土) 12:51:17.94 ID:FU4Pcb/d.net
PowerShelの伝道師 ID:yoXg86RX

w

520 :デフォルトの名無しさん:2018/05/05(土) 13:44:32.48 ID:LkKePK4y.net
VBAしか使えない人々かわいそう

521 :デフォルトの名無しさん:2018/05/05(土) 17:09:49.49 ID:063K4Ypr.net
早く静かにならなかな、、

522 :デフォルトの名無しさん:2018/05/05(土) 17:16:03.00 ID:063K4Ypr.net
流れを読まずに質問!
他シートをActiveにせずに、座標指定で .FreezePanesを指定したいんだけど
方法ある? (もしかして多言語からならできるのか!?)

523 :デフォルトの名無しさん:2018/05/05(土) 17:18:11.72 ID:063K4Ypr.net
>>522
あちゃ、誤変換。他言語ね。
今話題のRubyとか、Pythonとか、、

524 :デフォルトの名無しさん:2018/05/05(土) 17:57:53.09 ID:LkKePK4y.net
SplitRow
SplitColumn
ではいかんのか?

525 :デフォルトの名無しさん:2018/05/05(土) 18:18:56.66 ID:063K4Ypr.net
>>524
それ、画面分割じゃなくて? 専ら使わんです。
、、と思ったら、事前に .SplitRow; .SplitColumn; しとけば
ActiveCell変更しなくても .FreezePanes で指定座標でLock
できるわけね。
For回さずに別シートの行列Lockがしたかったんだけど、これだけでも
収穫でした。 Tnx!!

別シートのを .FreezePanes 設定するのはやっぱり無理かね?
(com経由ならできる?)

526 :デフォルトの名無しさん:2018/05/05(土) 18:31:36.42 ID:II6m7tZa.net
エクセルの操作に限って言うなら同じものにアクセスするだけだから
接続する為のコードが増えるだけでVBAで出来ない事を出来るようにはならんだろうなぁ

527 :デフォルトの名無しさん:2018/05/05(土) 18:54:43.44 ID:z4c77ZQa.net
カプセル化ですらオブジェクト指向のコアじゃない、という意見も世の中にはあるんだし、
多態性なんてそれほど大したもんじゃないよ。
それはさておきVBAでは多態性よりダックタイピングの方が何かと使いやすい。

528 :デフォルトの名無しさん:2018/05/05(土) 20:03:32.26 ID:cuzWr0GO.net
>>527
ダックタイピングと言うものはよく知らなかったのでググって見たけど
「オブジェクトがあるインタフェースのすべてのメソッドを持っているならば、
たとえそのクラスがそのインタフェースを宣言的に実装していなくとも、
オブジェクトはそのインタフェースを実行時に実装しているとみなせる」と言うことだとか。

でもこれって明示的にインターフェースを実装宣言していないだけで
結局は移譲で多態性の一種じゃないの?

529 :デフォルトの名無しさん:2018/05/05(土) 20:06:33.33 ID:WYM5IUV2.net
"D:\tmp\"からファイル名が"^2018-\d\d-\d\d\.xlsx$"に正規表現マッチするファイルを再帰的に検索する
検索された全てのファイルに対してシート名が"tmp"で始まるワークシートを削除して上書き保存

いったいどうやればいいのでしょうか?

530 :デフォルトの名無しさん:2018/05/05(土) 20:19:29.56 ID:YAuvYSr4.net
>>529
自分で考えたほうが早いんじゃねw

531 :デフォルトの名無しさん:2018/05/05(土) 20:23:15.18 ID:z4c77ZQa.net
>>529
二つの問題を一度に出すのは良くないね。
それはさておき、深さが大したことないから再帰でやるのがいいと思います。

532 :デフォルトの名無しさん:2018/05/05(土) 20:28:29.47 ID:cuzWr0GO.net
>>529
Dir関数かなんかで拾ったブックから正規表現でマッチングしたブックを対象にブック開いて
tmpで始まるシート名のシート削除して上書き保存すればいいんじゃないの?

533 :デフォルトの名無しさん:2018/05/05(土) 20:31:32.46 ID:cuzWr0GO.net
再帰的にって話だったから
Dir関数で拾ったものの名称やらアトリビュートやらで
それがフォルダだったら更に下の階層を漁るようにすれば
出来るような気がするけど?
そういうことではない?

534 :デフォルトの名無しさん:2018/05/05(土) 20:46:42.41 ID:z4c77ZQa.net
>>529
マッチするファイル名を列挙して配列にして返す。これを再帰関数で作る。
ファイル名の配列を受け取ってシート消去などの処理をする関数は別に作る。
がいいと思う。

535 :デフォルトの名無しさん:2018/05/05(土) 21:17:32.31 ID:8uGGiv/v.net
いちいちシートに書き出してからでないと処理出来ない関数多くて萎えるな
linestとか、配列(variant型)から直接呼び出したくても出来ないぽい

536 :デフォルトの名無しさん:2018/05/05(土) 22:15:32.03 ID:LkKePK4y.net
長すぎワロタ
なお動作確認はしていない

Sub GetProcessTargetFilesImpl(ByVal folder As Object, ByVal tester As Object, ByVal result As Collection)
For Each file In folder.Files
If tester.Test(file.Name) Then
result.Add file
End If
Next
For Each subFolder In folder.SubFolders
GetProcessTargetFilesImpl subFolder, result
Next
End Sub

Function GetProcessTargetFiles(ByVal rootFolderPath As String) As Collection
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim tester As Object
Set tester = CreateObject("VBScript.RegExp")
tester.Pattern = "^2018-\d\d-\d\d\.xlsx$"
tester.IgnoreCase = True
Set GetProcessTargetFiles = New Collection
GetProcessTargetFilesImpl fso.GetFolder(rootFolderPath), tester, GetProcessTargetFiles
End Function

537 :デフォルトの名無しさん:2018/05/05(土) 22:16:12.51 ID:LkKePK4y.net
Sub DeleteTempWorksheets(ByVal filePath As String)
Dim book As Workbook
Set book = Workbooks.Open(filePath)
Dim tempSheets As Collection
Set tempSheets = New Collection
For Each sheet In book.Worksheets
If Left(tempSheets.Name, 3) = "tmp" Then
tempSheets.Add sheet
End If
Next
For Each sheet In tempSheets
sheet.Delete
Next
book.Save
book.Close
End Sub

Sub MainProgram()
For Each file In GetProcessTargetFiles()
DeleteTempWorksheetsDeleteTempSheet file.Path
Next
End Sub

538 :デフォルトの名無しさん:2018/05/05(土) 23:42:21.67 ID:LkKePK4y.net
PSだとこう
rubyやpythonだとどうなるのかね?

$app = New-Object -ComObject Excel.Application
$app.DisplayAlerts = $false
Get-ChildItem -Path "D:\tmp\" -Recurse -Filter "*.xlsx" |
 where { $_.Name -match "^2018-\d\d-\d\d\.xlsx" } |
 foreach {
  $book = $app.Workbooks.Open($_.FullName)
  $sheets = $book.Worksheets | where { $_.Name.StartsWith("tmp") }
  $sheets | foreach { $_.Delete() | Out-Null }
  $book.Close($true)
 }
$app.Quit()

539 :デフォルトの名無しさん:2018/05/05(土) 23:43:45.55 ID:95YSYNlN.net
Ruby で作った

# . で始まる、directory, file を除く
Dir.glob('D:/tmp/**/*.xlsx') do |file| # 再帰的
next if File.directory? file # ファイルだけを処理する

fn = File.basename(file, '.xlsx') # 拡張子を除いた部分

# 正規表現に一致した、ファイルだけを処理する
next unless /^2018-\d\d-\d\d$/ =~ fn
puts fn #=> 2018-01-31
end

540 :デフォルトの名無しさん:2018/05/06(日) 00:13:02.96 ID:5pacMdKU.net
配列も処理出来ないもんですかね、、、。

一旦バリアント型の配列に入れて、
1列目と2列目でlinest、
2列目と3列目で、
1列目と2列目3列目の2列で、
など列単位比較を取っていきたいんです。
結局シートに値貼り付けて戻してから計算しないとダメで、時間が掛かりすぎる。

541 :デフォルトの名無しさん:2018/05/06(日) 00:56:27.40 ID:c6V5Tk/M.net
なんで無理してなんでもExcelでやろうとするのか

542 :デフォルトの名無しさん:2018/05/06(日) 01:36:23.42 ID:aPyLzrz1.net
ちょっと調べたら別にシートに転記する必要はないみたいだが
単に理解してないだけか

543 :デフォルトの名無しさん:2018/05/06(日) 02:17:09.53 .net
>>539
全然やりたいことできてないじゃん

544 :デフォルトの名無しさん:2018/05/06(日) 03:10:14.74 ID:WI8S4nUT.net
>>540
何をやりたいのかイマイチ伝わらないけど
Insertと言ってるのは列の追加?

SQLで出来る範囲のことであれば
一度シートにSQL投げて取得した結果を
シートをクリアした後に貼り直すのが
一番早くて楽かなとは思うけど。

545 :デフォルトの名無しさん:2018/05/06(日) 03:44:28.04 .net
>>544
回帰分析も知らないんなら黙っとけよ

546 :デフォルトの名無しさん:2018/05/06(日) 05:01:24.60 ID:WI8S4nUT.net
>>545
確かに回帰分析知らないからじゃ頼むわ

547 :デフォルトの名無しさん:2018/05/06(日) 08:38:26.21 ID:c6V5Tk/M.net
>>538
VBA信者はこれより簡単に書けんの?

548 :デフォルトの名無しさん:2018/05/06(日) 08:43:24.29 ID:c6V5Tk/M.net
>>540
python

549 :デフォルトの名無しさん:2018/05/06(日) 09:10:32.16 ID:cLRBXgZI.net
ものすごく無邪気な空目を見てほっこりしたw

550 :デフォルトの名無しさん:2018/05/06(日) 10:32:51.06 ID:aPyLzrz1.net
PSのサンプルは普通にありがたい
あっちのスレ過疎ってるし

551 :デフォルトの名無しさん:2018/05/06(日) 11:10:09.54 ID:vglAnW1b.net
だったら、その過疎ってるスレでやれや、チンカス

552 :デフォルトの名無しさん:2018/05/06(日) 13:33:33.61 ID:c6V5Tk/M.net
初心者でも手軽で簡単なVBAのプログラム見てみたいなー
他の言語だと>>538のようにファイル探してシート削除するだけでそんな長くなるわけないけど
他の言語よりもっと手軽で簡単なVBAならさらに綺麗で短いプログラムになるんだろうなー
VBAerさんの実力見てみたいなー

553 :デフォルトの名無しさん:2018/05/06(日) 14:11:50.40 ID:Ka8bfK6G.net
VBAを否定したいが為に、他の言語よりも手軽で簡単で短いプログラムが書ける言語という条件を掲げ始めたの笑える
もうそこまで条件つめないと否定する箇所が見つからないんだね

554 :デフォルトの名無しさん:2018/05/06(日) 14:56:53.33 ID:c6V5Tk/M.net
>>553
手軽でもない難しい長いコードしか書けない言語なんて誰が見ても存在価値ないぞ?

そこまで条件詰めないと、って君は言うけど言語として追及しなきゃならない当たり前の必須条件なんだがw

555 :デフォルトの名無しさん:2018/05/06(日) 15:05:08.61 ID:Ka8bfK6G.net
>>554
もともとVBAスレではそんな事は気にしていないし、
いくら啓蒙しようともVBA以外の選択肢がない事が絶対条件なんで別の言語出されても無意味なんですよねー
言語的な優位性を語りたいなら、それ専用のスレにいくべきであってVBAスレで的外れな事言い続けてるキミはただのマヌケだ

556 :デフォルトの名無しさん:2018/05/06(日) 15:18:31.33 ID:c6V5Tk/M.net
VBA使えるのにPS使えない環境というとなんだ?

557 :デフォルトの名無しさん:2018/05/06(日) 15:20:53.60 ID:c6V5Tk/M.net
まあ意地はって無意味とか言ってるけどさ
月曜になったら会社でPSのこと気になってちょこっと調べちゃう奴はたぶんいると思うぞw

558 :デフォルトの名無しさん:2018/05/06(日) 15:22:14.65 ID:Ka8bfK6G.net
>>556
会社がVBA以外を許容しない場合とかって何度も言われてるのに、キミは本当に物覚えが悪いんだね

559 :デフォルトの名無しさん:2018/05/06(日) 15:29:05.53 ID:c6V5Tk/M.net
OS標準搭載のシェル禁止とかエクスプローラー禁止する並みにばかばかしい

560 :デフォルトの名無しさん:2018/05/06(日) 15:32:07.46 ID:Ka8bfK6G.net
馬鹿馬鹿しいかはともかく仕事でやってる限りは従うしかないわけで、
モダンだから使ってるわけでも、簡単に書けるから使ってるわけでも、手軽だから使っているわけでもなく、
会社が許容する言語がVBAだけだからVBAを使ってるんで、それが解決されない限りは無意味なんだよ

561 :デフォルトの名無しさん:2018/05/06(日) 16:20:21.14 ID:hMxfhnzD.net
具体的なコード示されて反論できなくなったらVBA必須の職場とか言い出してて笑える

562 :デフォルトの名無しさん:2018/05/06(日) 16:22:54.16 .net
いいからさっさと >>397-398 のRubyでのワンライナーコード提示しろよ

563 :デフォルトの名無しさん:2018/05/06(日) 16:27:09.23 ID:kSRQdo41.net
というか、最初からなんとなくそういう意図なんかなと思ったけど、正直めんどくさい。
やる気が起きない。
たぶんこういう処理ってどんな言語でもそんなに大変じゃないと思うんだよね。
そういう処理って自分に降りかからないとやる気が起きん。
別に多少長くなってもどうでも良いだろ。

逆にこういうのとかだったらやる気出るけどね。(これはVBAでは多分実現不可能)

http://imgur.com/OGKddGC.jpg

564 :デフォルトの名無しさん:2018/05/06(日) 16:35:34.38 ID:kSRQdo41.net
PSはExcelに対して使う機会が殆ど無い。
メリットを感じない。

昔、PSでUIAutomationで他アプリを操作するコードとか書いてたけど、別にVBAでも出来ることが多いからね。
PSじゃ右クリック出来ないとか言ってた人いたけどWin32+SendMessage+WM_RBUTTON_DOWNでできるじゃんなんてやってたけどさ。
でもその後メリットがあまり無いから使わなくなったなあ。
今でもバッチファイルじゃ出来ない場合は候補に上がるけど。

565 :デフォルトの名無しさん:2018/05/06(日) 16:41:02.41 ID:Ka8bfK6G.net
>>561
他の言語がどうこうとか言い出した時点で真っ先に指摘されてるんだけど、
自分語りに夢中で気がつかなかったんだろうな

566 :デフォルトの名無しさん:2018/05/06(日) 17:32:38.91 ID:c6V5Tk/M.net
VBAは意図的に他の手段を禁止しない限り使うメリットが無いクソ言語ということを再確認できたね

567 :デフォルトの名無しさん:2018/05/06(日) 17:33:14.65 ID:/WieGqZg.net
VBAからPS呼べば万事解決

568 :デフォルトの名無しさん:2018/05/06(日) 18:07:51.27 ID:hMxfhnzD.net
>>565
真っ先に指摘したらそんな職場ばかりじゃねーだろって速攻論破されてただろw
で、簡単に使えるとか業務システムとかのでかい奴じゃないからVBAで十分とかほざいてたのに>>532辺りの小規模な用途でもPSより簡単じゃないことがわかったとたん前のことを忘れたふりしてまた職場がーとか言い出したから笑われてるだけ
理解できたかな?w

569 :デフォルトの名無しさん:2018/05/06(日) 18:40:49.69 ID:Ka8bfK6G.net
>>568
「そんな会社ばかりではない」が論破になるわけないんだけど、まぁキミには理解できないんだろうな

570 :デフォルトの名無しさん:2018/05/06(日) 18:48:25.13 ID:eFdUTltV.net
>>568
これだからバカは...

その場に適したの使えって話。
そしてその場はその場なんで全体の話にゃならんのは当たり前の話なんだが。

職場の話も、コードの話もその場の話で、言語自体の優劣とイコールではない。
そしてExcel使う限り有利な場が多いのがVBAなのは仕方ないことだ。

最初の3行とか言い出した時からおかしいなと思ってたんだが3行が10行になって何の問題が有るのか分からん。
どっちでも良いだろ。
それより実現不可能とかどうにも汚いコードになるとかの方が気になるね。

571 :デフォルトの名無しさん:2018/05/06(日) 18:57:08.24 ID:c6V5Tk/M.net
3行が10行になったらバグ混入確率も3倍以上
書くのも読むのも面倒くさい
保守担当者に恨みでもあるなら長くしてもいいけどさ

572 :デフォルトの名無しさん:2018/05/06(日) 19:04:56.37 ID:hMxfhnzD.net
>>569
確かにお前のアホな考え方は理解できんわ w

>>570
> そしてExcel使う限り有利な場が多いのがVBAなのは仕方ないことだ。
具体例で有利でない例出されてるのに何を言ってるんだよ w
まずはVBAが明らかに有利な具体例を出してから語れよ

573 :デフォルトの名無しさん:2018/05/06(日) 19:08:09.18 ID:Ka8bfK6G.net
>>572
「会社からそれ以外を禁止された場合の需要」は、「禁止されていない場合」があっても何ら矛盾しないんだけど、
キミは論理性というものがカケラもないみたいだな

574 :デフォルトの名無しさん:2018/05/06(日) 19:11:38.77 ID:WI8S4nUT.net
さあさ、
もう明日はGW開けの月曜日だし
ぼちぼちスレ違いのSPやrubyの話してる人は
巣に帰ったらどうだ?

575 :デフォルトの名無しさん:2018/05/06(日) 19:27:21.91 ID:hMxfhnzD.net
>>573
> 「会社からそれ以外を禁止された場合の需要」
が全てではないって言うだけのこと
条件明示もできないアホが論理性とか笑えるわ

576 :デフォルトの名無しさん:2018/05/06(日) 19:34:21.99 ID:Ka8bfK6G.net
>>575
VBAスレはVBAの需要が全てであって、他の言語の需要は関係ないんだよw
まぁ理解できるような頭じゃないから別の言語の話題を出しちゃうんだろうけどさ

577 :デフォルトの名無しさん:2018/05/06(日) 20:00:35.79 ID:eFdUTltV.net
>>575
バーカw
それが具体例だろ。
こんなことも分からんの?

お前は他言語の場合は具体例と言い、VBAの場合は全てではないと言う。

どれも全てではない。
がExcelを使うという限定条件ではVBAが有利な場合が多い。
何故なら大抵のことならどんな言語でも出来るから(とくにExcelで扱う内容であればさらに)、余計なファイルが増えるとか使う環境で制限されることが多いというのが大きな差になるんだよ。

578 :デフォルトの名無しさん:2018/05/06(日) 20:02:15.99 ID:eFdUTltV.net
もう何度も出してるんだが、こういう人は都合の良いものしか見ないんだよな。

579 :デフォルトの名無しさん:2018/05/06(日) 20:10:50.87 ID:c6V5Tk/M.net
数日バトルしたわけだけどVBAの存在価値を感じるような具体例がまだ1つも出てないのが不思議だね
なんでだろうね

580 :デフォルトの名無しさん:2018/05/06(日) 20:18:00.31 ID:WI8S4nUT.net
>>579
そうかな?
少なくとも自分の持ち言語じゃない言語に
興味を持ってこの数日間貼り付いていた君達には
それなりに存在価値が有った筈だよ

でなければ何故このスレに
ずっといるのかと言うことになる

別にPSやrubyスレで相手にされないから
ここに来た訳ではないだろう?

581 :デフォルトの名無しさん:2018/05/06(日) 20:22:24.02 ID:c6V5Tk/M.net
>>580
仕事でVBAを押し付けられた鬱憤をぶつけるのにちょうどいい

582 :デフォルトの名無しさん:2018/05/06(日) 20:22:54.35 ID:hMxfhnzD.net
>>576
バカなの?
> > 「会社からそれ以外を禁止された場合の需要」
ってはっきり書いてあるのに
> VBAの需要が全て
と言い切るとかドンだけ都合のいい解釈だよ w

>>577
それ反論出てただろ ⇒ 一例: >>143
盲信するしかないお前には見えないかも知れんが
だから状況次第なの、わかった?

583 :デフォルトの名無しさん:2018/05/06(日) 20:24:58.49 ID:Ka8bfK6G.net
>>582
都合がいいも何もスレタイを見ろよ

584 :デフォルトの名無しさん:2018/05/06(日) 20:25:15.78 ID:2V8AEwcJ.net
> でなければ何故このスレに
> ずっといるのかと言うことになる
アホが必死になって反論するのをからかってるだけだろww

585 :デフォルトの名無しさん:2018/05/06(日) 20:32:07.06 ID:c6V5Tk/M.net
VBAerならVBAコードで語れよ
俺を感心させるようなVBAコードなんざ書けねえんだろ?
ならゴミと言われても仕方ねえじゃんか

586 :デフォルトの名無しさん:2018/05/06(日) 20:33:46.60 ID:WI8S4nUT.net
>>581
仕事場ではPSの優位性を上司に論じたりはしないの?

587 :デフォルトの名無しさん:2018/05/06(日) 20:38:16.54 ID:Ka8bfK6G.net
要するにRubyだかなんだかのメインの仕事で使えなくて事務仕事に回された無能ってオチか

588 :デフォルトの名無しさん:2018/05/06(日) 20:49:26.95 ID:c6V5Tk/M.net
>>586
おう啓蒙してるよ

589 :デフォルトの名無しさん:2018/05/06(日) 20:50:57.38 ID:c6V5Tk/M.net
>>587
なになに自己紹介?

590 :デフォルトの名無しさん:2018/05/06(日) 20:52:16.31 ID:WI8S4nUT.net
>>588
じゃ、何でVBAを押し付けられたんだろうね
キチンと言って聞かせれば押し付けられることも無かっただろうに

591 :デフォルトの名無しさん:2018/05/06(日) 20:53:03.16 ID:2V8AEwcJ.net
>>69がVBA以外の選択肢もあるよねーって言った時に
そだねー
で終わる話を>>70とかがVBA以外の選択肢がないとか言うからバカにされてるだけ
で、最終的にやり込められて
> 都合がいいも何もスレタイを見ろよ
とか、笑えるわ

592 :デフォルトの名無しさん:2018/05/06(日) 20:59:23.99 ID:cLRBXgZI.net
VBA以外禁止って話、なくはないんだろうけどニッチ過ぎないか?
あまり聞いたことがない

593 :デフォルトの名無しさん:2018/05/06(日) 21:00:59.91 ID:c6V5Tk/M.net
>>590
スケジュールに余裕があったからなぁ
俺って仕事が早いからその分貧乏くじ引きやすいんだよ

594 :デフォルトの名無しさん:2018/05/06(日) 21:03:14.24 ID:WI8S4nUT.net
他所から最近来た人は知らないだろうけど
これでも大分ユルくなったんだよ
前は命令系が殆ど一緒のvb6ですら禁止にするか
コード載せることすら禁止にするかで
大揉めに揉めて荒れまくった時代も有ったし

595 :デフォルトの名無しさん:2018/05/06(日) 21:08:16.36 ID:c6V5Tk/M.net
>>592
VBA以外は禁止って頭の悪いルールでOS標準搭載のプログラムを縛るとOSが動かなくなっちゃう
なのでそんな環境は現実的には珍しいどころか存在しない

マインスイーパーはダメなどブラックリスト的に禁止する会社は多くはないが存在する
しかしブラックリストを採用してる会社でもコマンドプロンプトやパワーシェルを禁止する会社はごくわずか
なぜならそれらを禁止すると日常的な端末の管理作業に支障をきたす可能性があるから

596 :デフォルトの名無しさん:2018/05/06(日) 21:11:30.28 ID:Ka8bfK6G.net
プログラムとプログラム言語の違いが分かってないヤツが仕事早いって自称してるのか
ようやくコイツの面白いところ見つけたわ

597 :デフォルトの名無しさん:2018/05/06(日) 21:13:39.80 ID:WI8S4nUT.net
>>595
それは分かるけどVBAの質問スレで話すことではないよね。
そういう話をする場合は然るべきスレに誘導すればいいんじゃない?

598 :デフォルトの名無しさん:2018/05/06(日) 21:14:11.38 ID:kBGBSRI1.net
でも将来会社のPCをSモードにしようなんて話になったら
本気でVBAしか選択肢が無くなる

そんで万一VBAのサポートが終わったらローカル開発終了の危機

599 :デフォルトの名無しさん:2018/05/06(日) 21:15:19.54 ID:hMxfhnzD.net
>>592
俺も聞いたことない
まあ世の中広いし変にこだわった上司がいたりするケースはあるのかも知れないから>>595みたいにないと言い切っちゃう奴もどうかとは思うわ

600 :デフォルトの名無しさん:2018/05/06(日) 21:16:09.68 ID:c6V5Tk/M.net
>>597
パワーシェルでこうやって簡単にできることをVBAでやるにはどうすれば良いですか?
パワーシェルと比べてVBAの優位性はなんですか?

これはVBAに関する質問だろ?

601 :デフォルトの名無しさん:2018/05/06(日) 21:18:19.97 ID:WI8S4nUT.net
>>600
簡単に出来るならそっちを選択すればいいんじゃないの?

602 :デフォルトの名無しさん:2018/05/06(日) 21:35:22.99 ID:hMxfhnzD.net
>>601
VBAしか許されない会社があるらしい w
>>558とかな

603 :デフォルトの名無しさん:2018/05/06(日) 21:40:40.41 ID:Ka8bfK6G.net
>>581の方が具体例だけどな
VBA以外も許容される仕事なら鬱憤がたまるわけもなし

604 :デフォルトの名無しさん:2018/05/06(日) 21:43:37.77 ID:cLRBXgZI.net
じゃあ「VBA以外のプログラミング環境を使うことが許されない会社」は都市伝説だった



605 :デフォルトの名無しさん:2018/05/06(日) 21:43:41.50 ID:49zJQseC.net
Excelシートに対してSQLで操作するのはまったく勧められない。

おまけ機能だから変な制約にはまりやすい。

606 :デフォルトの名無しさん:2018/05/06(日) 21:46:15.91 ID:WI8S4nUT.net
>>602
そりゃ知らないだけじゃないの?
今は少なくともWindows入っていればVBSもあればJavaScriptもあるしSellだって普通に使えるはず。

まぁ各言語で向き不向きはあるだろうけどね。

607 :デフォルトの名無しさん:2018/05/06(日) 21:52:40.85 ID:hMxfhnzD.net
>>606
使えることと使っていいかどうかは別の話

608 :デフォルトの名無しさん:2018/05/06(日) 21:54:15.12 ID:WI8S4nUT.net
>>607
使っちゃいけない仕事場なのか!
それは難儀だね

609 :デフォルトの名無しさん:2018/05/06(日) 21:55:47.66 ID:cLRBXgZI.net
>>605
SELECTだけならほげ問題ない

610 :デフォルトの名無しさん:2018/05/06(日) 21:56:12.41 ID:hMxfhnzD.net
>>608
ほんとにあるかどうかは知らんけどね w

611 :デフォルトの名無しさん:2018/05/06(日) 21:59:36.63 ID:c6V5Tk/M.net
>>603
いや意味わからん
自分のタスクは自由にやるからストレスないけど
既存のクソマクロを拡張しろってタスクが回ってきたらVBAでやるしかないだろ
鬱憤たまりまくりだよ

612 :デフォルトの名無しさん:2018/05/06(日) 22:07:51.20 ID:cLRBXgZI.net
>>611
それはクソマクロだからだ。
秀逸美マクロに囲まれていればそんな文句はでないだろう。
つまり言語のせいではない。

613 :デフォルトの名無しさん:2018/05/06(日) 22:09:25.86 ID:WI8S4nUT.net
w

614 :デフォルトの名無しさん:2018/05/06(日) 22:09:37.70 ID:vglAnW1b.net
お前が鬱憤たまろうがどうなろうが知ったことか

615 :デフォルトの名無しさん:2018/05/06(日) 22:13:22.80 ID:vAd5Ebd9.net
VBAの開発案件なんて初めて聞いたわ。

616 :デフォルトの名無しさん:2018/05/06(日) 22:15:55.67 ID:c6V5Tk/M.net
>>612
VBAじゃ無理

617 :デフォルトの名無しさん:2018/05/06(日) 22:19:39.41 ID:WI8S4nUT.net
>>616
え?
VBAじゃ出来ないことをVBAで受けちゃったの?

618 :デフォルトの名無しさん:2018/05/06(日) 22:20:31.61 ID:cLRBXgZI.net
秀逸美マクロの広告がTLにあふれる

619 :デフォルトの名無しさん:2018/05/06(日) 22:40:05.16 ID:eFdUTltV.net
>>582
ハァ...
あのね、状況次第なんだよ。
日本語ワカリマスカ?

だからその時に適したの使えって何度となく言ってるだろ。
ファイルが増えちゃうのはダメってのも、職場環境も状況なんだよ。

で、VBAでダメってことが殆ど無いんだよ。
3行が10行に増えてダメって状況なんて殆ど無いんだ。

バージョン管理は俺は別言語使ってる。
面倒とか言ってる奴はちょっとレベルが低いかと思う。
面倒ではない。
セキュリティ面での問題だ。
そして、Excelで本格的なバージョン管理しなきゃならん程のコードを書くこと自体殆ど無い。
そういう場合はそもそもExcel使わない方向を考えるだろう。

Excel開かずにExcelファイル作るだけならもうExcelの範囲外だ。
当然VBAに適していない。
もっとも別のOfficeアプリからならVBAに適した範囲だけど。

620 :デフォルトの名無しさん:2018/05/06(日) 22:45:19.58 ID:eFdUTltV.net
>>592
VBA以外が禁止なんじゃ無いの。
勝手に他アプリが入れられないということ。
だからPSについてはこのデメリットは無いと思ってるよ。

ただ、PSについて言えばExcel.Application使う限りメリットがあまり感じられない。

621 :デフォルトの名無しさん:2018/05/06(日) 22:48:28.79 ID:eFdUTltV.net
>>616
具体的にどう無理なのかね?
具体的にどんなことしたいの?

622 :デフォルトの名無しさん:2018/05/06(日) 22:51:53.77 ID:c6V5Tk/M.net
>>620
メリットあるぞ
VBAより楽にわかりやすく短いコードを書ける
VBAより機能数がはるかに多い
VBAより他のツールとの組み合わせが容易
などなど

623 :デフォルトの名無しさん:2018/05/06(日) 22:52:47.13 ID:c6V5Tk/M.net
>>621
PowerShellよりエレガントに実装することが無理

624 :デフォルトの名無しさん:2018/05/06(日) 22:55:37.59 ID:WI8S4nUT.net
>>623
でもそれは仕方ないよね
無い物ねだりだよ

625 :デフォルトの名無しさん:2018/05/06(日) 23:01:08.00 ID:5pacMdKU.net
で、insertはlinestに変換できたの?笑

626 :デフォルトの名無しさん:2018/05/06(日) 23:05:49.08 ID:eFdUTltV.net
>>622
全く具体性に欠ける。
短いのは大したメリットにはならんぞ。
出来るかどうかが一番大事だろ。
そりゃ3行が500行に増えるというなら別だが。

エレガントかどうかというのも全く具体的じゃ無いね。

取って付けたような反論なんだよな。
そもそもPS書けるのか?君は。
>>622>>623を見るとちょっと疑念が残るな。

627 :デフォルトの名無しさん:2018/05/06(日) 23:08:19.79 ID:c6V5Tk/M.net
>>626
長いとバグ混入率が高まり
書くのも読むのもめんどくさい
保守性が低下する
これプログラマの常識な
事務員さんは知らないか

628 :デフォルトの名無しさん:2018/05/06(日) 23:10:46.76 ID:eFdUTltV.net
>>611
これもよく分からん。
これってVBAのメリットだろ。
他言語は却下されてるんだから。

VBA以外は適していないんだ。

629 :デフォルトの名無しさん:2018/05/06(日) 23:13:44.46 ID:eFdUTltV.net
>>627
だから、3行が10行に増えるぐらいで混入率が増えるとか、どんだけレベル低いんだよ。
君はステップ数200とかのコードしか書いたこと無いんかい?

630 :デフォルトの名無しさん:2018/05/06(日) 23:21:52.93 ID:eFdUTltV.net
というかさ、どんな処理でPSがエレガントだと言ってるんだ?
それも示さずにエレガント言っててもまるっきり説得力無い。

631 :デフォルトの名無しさん:2018/05/06(日) 23:22:49.12 ID:c6V5Tk/M.net
>>629
3行で済むものが10行になるなら
300行で済むものが1000行になるんだぜ
3000行で済むものが10000行になるんだぜ
700行、7000行も無駄なコード書くとかバカの極みじゃん?

3行とか30行の使い捨てスクリプトしか書かない事務員さんにはあまり違いを実感できんのかもしれんな

632 :デフォルトの名無しさん:2018/05/06(日) 23:24:16.41 ID:c6V5Tk/M.net
>>630
>>536-538
なんなら君がVBAのサンプルをエレガントに書き直してもいいよ
出来るもんならね

633 :デフォルトの名無しさん:2018/05/06(日) 23:38:53.72 ID:WI8S4nUT.net
>>632
ちなみに分かり易く
Thisworkbook.Sheets(1).Cells(1,1) = “Hello World!”
をSPで書いてみてよ。
別にエレガントじゃなくてもいいから。
どうなる?

634 :デフォルトの名無しさん:2018/05/06(日) 23:41:26.14 ID:FekT53QX.net
VBA以外本当に知らねえんだなっていうのがよくわかるレス

635 :デフォルトの名無しさん:2018/05/06(日) 23:44:07.99 ID:eFdUTltV.net
>>631
バーカw
ならねえよ。

お前プログラム書いたこと無いだろ。
どんなコードでも3行が10行になるんだったらそりゃVBAはダメだろうよ。


>>632
だから、これ長すぎとか言ってるけど、俺に言わせればどこが?ってことだ。
そしてVBAのコードでバグが混入しそうな所は何処だ?
短いのが良いんだったらPerlは最高だ。

636 :デフォルトの名無しさん:2018/05/06(日) 23:45:59.78 ID:FekT53QX.net
なるんだよなぁ

637 :デフォルトの名無しさん:2018/05/06(日) 23:49:18.80 ID:WI8S4nUT.net
>>634
いやぁ、今PowerSellよく知らないから
少しググって見てたけどC#によく似ているんだよね。

C#の場合、>>633のこれ一つやるにしても一々Excelのobject作って
解放のことも考えなきゃならんし、
もしかしたらExelVBAの優位性ってそこにあるんじゃないかと思ったんだ。

638 :デフォルトの名無しさん:2018/05/06(日) 23:59:41.16 ID:eFdUTltV.net
>>636
何も知らないバカは黙ってろ。
どんなコードも3行が10行になるということは

A1に"ABCD"を入れる処理がVBAだと10行になるということだぞ。
バカめ。

639 :デフォルトの名無しさん:2018/05/07(月) 00:09:41.02 ID:VrG5Qe7h.net
やっぱり何でも一長一短ってことなのかねぇ

640 :デフォルトの名無しさん:2018/05/07(月) 00:30:56.23 ID:2GsMdZCO.net
というか、>>538とか>>539とか駄目だろ。
Excelファイルを扱ってるだけでExcelに適した処理じゃない。
普通、VBAだとリボンにボタン作るとかシートにボタン作って、
こういう処理した結果の集計を現ブックに書くとかするわけ。
Excel閉じた状態で起動して、終了後も閉じてて良いんなら
最初からExcelという限定された環境という前提が必要無いことになる。

641 :デフォルトの名無しさん:2018/05/07(月) 00:36:32.19 ID:ASE9lfG3.net
>>640
そういうコマンドを書いてシェルから実行するだけだが?

リボン()に特別な思い入れでもあるのかな

642 :デフォルトの名無しさん:2018/05/07(月) 00:42:30.20 ID:ASE9lfG3.net
>>640
最後の一文は重要な気付きだよ
そもそもこの業務はExcelに乗っかって作業しなきゃならんのか
という疑問は常に頭の中においておいたほうがいい

643 :デフォルトの名無しさん:2018/05/07(月) 02:47:38.46 ID:gEoc9wfl.net
自分が大好きなPowerShellが人気なくてスレも過疎ってるからって人が多いVBAスレを荒らしに来てる人に構いすぎでは?

644 :デフォルトの名無しさん:2018/05/07(月) 05:33:28.01 ID:MQV1S2kZ.net
教えていただきたいのですが、プロジェクトを表示させないようにしたいのですが、可能でしょうか?

表示用にロックだとネット上に、解除方法が出ているので客先で解除されトラブルが起きてしまったことがあるので、簡単には解除出来ないようにロックしたいと考えています。

有料ソフト購入以外で、方法がありましたら教えて下さい。

645 :デフォルトの名無しさん:2018/05/07(月) 05:59:56.96 ID:CphezDVS.net
>>619
なんで同じような話をクドクド繰り返すかな、ボケ爺かよw

> で、VBAでダメってことが殆ど無いんだよ。
お前が何を言っても実例出てる時点で説得力ゼロやんw

646 :デフォルトの名無しさん:2018/05/07(月) 06:12:26.22 ID:CphezDVS.net
>>644
解除するなって言う契約にしとおいてトラブルへの対応はしなきゃいいだけ
ロック破るって言うのは誤操作とかとは違うし破られないように頑張ってもイタチごっこになるだけ

647 :デフォルトの名無しさん:2018/05/07(月) 06:47:40.77 ID:TUSemmHn.net
GW明けたね! 静かになってくれるといいけど。
荒しには言わせといて、もうこっちの人も相手しなきゃいいのに。
最初は建設的な話もあるかもと見ていたけど、鬱憤晴らしてる
だけだって、自ら言うたしね。
スレ住人への迷惑も顧みず、俺スゴかろな自慰野郎相手に
するだけ無駄。面白がられてるだけやん。
スレ違いもいいとこ。別スレたてて、そっちでやれ!

双方、補い合うような建設的な内容なら歓迎。
自分はVBAに固執するつもりはないからね。

648 :デフォルトの名無しさん:2018/05/07(月) 06:48:47.53 ID:VrG5Qe7h.net
纏めると
EXCELが絡まない処理は他の言語が有利になることが多いし
EXCELを操作する場合はやはりVBAが有利になることが多いってことだよね。

でもEXCELが絡まなくてVBAも要らないような処理なら
別にこのスレで論じなくてもいいんじゃない?
このスレには全く関係ないってことになるから。

649 :デフォルトの名無しさん:2018/05/07(月) 07:51:50.63 ID:ASE9lfG3.net
>>648
いや
excelを操作する場合でも他言語が有利
殆ど差がつかないような短い処理はあるけどそんな短い処理で比較してもなぁって感じ

650 :デフォルトの名無しさん:2018/05/07(月) 08:12:53.75 ID:mqdJhqhB.net
>>649
じゃ>>633のコードをSPで書いてみて。
殆ど差がつかないというなら1行からそんなに増える訳ではないという認識でいいんだよね?

651 :デフォルトの名無しさん:2018/05/07(月) 08:14:03.54 ID:UbBhnDZY.net
>>648
> EXCELが絡まない処理は他の言語が有利になることが多いし
>>538とかを見てもそう言い張るならもうなーんも言えねーわ w

652 :デフォルトの名無しさん:2018/05/07(月) 08:20:16.16 ID:UbBhnDZY.net
>>650
SPがなにものか知らんけどPowerShellのことかな?
PSにはThisWorkbookの概念はないから$Bookに入ってるとして
$Book.Sheets(1).Cells.Item(1,1).Value() = 'Hello World!'
って書くだけだよ

653 :デフォルトの名無しさん:2018/05/07(月) 08:30:57.47 ID:mqdJhqhB.net
>>652
へえ
Objectの生成も解放も要らないんだ

654 :デフォルトの名無しさん:2018/05/07(月) 08:54:44.13 ID:ASE9lfG3.net
vbaの方はsubもend subも要らないのか?

655 :デフォルトの名無しさん:2018/05/07(月) 08:58:00.55 ID:fXArPflS.net
this*やactive*を直接ロジックに持ち込む人はプログラミングセンスがない

656 :デフォルトの名無しさん:2018/05/07(月) 09:21:28.09 ID:4C462BWK.net
>>654
いるよ。それ入れて3行。
じゃその3行から大幅に変わらないって認識でいいんだよね?
PSでどうなるの?

657 :デフォルトの名無しさん:2018/05/07(月) 09:46:41.71 ID:wvkiQNF2.net
>>655
お、となると前に聞いた .FreezePanes は、PSではどう書けばいいんでしょうか。単純に知りたい。

658 :デフォルトの名無しさん:2018/05/07(月) 09:49:14.89 ID:EjUFI/+N.net
スレチだけどVBA開発者の意見を聞きたいです。
Salesforce導入したらExcel(VBA)の仕事がなくなる可能性はある?

659 :デフォルトの名無しさん:2018/05/07(月) 10:15:10.01 ID:iH5JTvso.net
>>655
一律にそう判断をする初心者が出てくるから言い方に注意すべきだよー

660 :デフォルトの名無しさん:2018/05/07(月) 11:23:28.63 ID:RkDBvZTA.net
>>658
んなもん、ここで聞かずSalesforceのサポート先にでも聞けよ。

661 :デフォルトの名無しさん:2018/05/07(月) 11:39:56.42 ID:LybNXku5.net
>>660
Salesforceを知らないんだね。

662 :デフォルトの名無しさん:2018/05/07(月) 12:00:46.03 ID:6Bvegpcl.net
Salesforceのサポート先にきいてもSalesforceは素晴らしいと言われるだけ。(確認済)
データ分析などをやってるVBA開発者は素データの取扱をよく知ってる。
Salesforce導入賛成した人はデータの取扱をよくわかってないこともある。
(システム構築の問題かな?)
Salesforce導入したら、VBA開発者としては困る事もある。

663 :デフォルトの名無しさん:2018/05/07(月) 12:04:59.32 ID:iH5JTvso.net
「便利なとこだけつまみ食い」ができないツールやフレームワークは迷惑

664 :デフォルトの名無しさん:2018/05/07(月) 12:06:01.39 .net
何でもSalesforceで完結できるかというと、ライセンス費用との兼ね合いでそうもいかなかったりする
必要なところはVBAからSalesforceのAPIを使えるようにすれば問題なし(やったことないからできるか知らんけど)

665 :デフォルトの名無しさん:2018/05/07(月) 12:29:01.64 ID:UbBhnDZY.net
>>653
Excel.Application とか対象のブックを開く処理のことを言ってるならそれらは余分に必要
ただそのコードって>>538見ればわかるけど数行だから大変と言うほどのことはない

>>657
ここら辺はVBAと同様
なぜかActivateしないとダメなんだよね
改善してほしい

666 :デフォルトの名無しさん:2018/05/07(月) 12:31:02.56 ID:0Psz8IKZ.net
五年後、十年後を見据えることも大事
素晴らしいから実装 三年後に開発元が撤退 とかザラにある世界
グレシャムの法則はこの業界でも当てはまる
ポンコツでも安心して乗り続けられるかどうか

ピラミッドの上の方三分の一が対象か、底の方三分の一なのか
下の方はVBAでもいい  上の方相手に生涯ストレス溜め続けて生きてけばいいさ

667 :デフォルトの名無しさん:2018/05/07(月) 12:46:54.80 ID:bo9bZ07t.net
>>666
VBAのスレで何言ってんだかw
とても滑稽

668 :デフォルトの名無しさん:2018/05/07(月) 12:48:25.32 ID:fqL3E9j7.net
>>665
数行って3行が何行に膨れ上がるの?
大したことないかどうかはそれが出てからじゃないと判断つかないよね

669 :デフォルトの名無しさん:2018/05/07(月) 12:51:09.04 ID:UbBhnDZY.net
>>668
> 大したことないかどうかはそれが出てからじゃないと判断つかないよね
バカはこれだから... w

670 :デフォルトの名無しさん:2018/05/07(月) 13:02:09.19 ID:fqL3E9j7.net
>>669
だってそっちのコードはインスタンスの解放とか記述されてないし判断材料にならないよ。
で、どうなるの?

671 :デフォルトの名無しさん:2018/05/07(月) 16:05:51.47 ID:aAWzZZt9.net
>>124で質問した者です
色々試したところ、3行目だから問題があるのではなく半角カタカナが含まれている行があると、その次の行の冒頭の文字が削れるようでした
(半角カナと同じ文字数削れる?)

ADODB.streamをクリエイトオブジェクトして、CharsetにISO-2022-JPを指定して読み込んでいます。入力ファイルは、サクラエディタでJISを指定してポチポチ作成しています。

ちなみに、.ReadTextの引数に-2を与えて1行ずつ読み込むと発生しますが、-1を与えてファイル全体を一括読み込みするとこの現象は起こりません

入力ファイル内容
(スマホなので半角カナが打てないのですが、2行目のアイウエオは半角だと思ってください)
------------------------------------
01234567890123456789
アイウエオ
01234567890123456789
------------------------------------

1行ずつ読み込んでデバッグプリントした結果(スマホなので半角カナが打てないのですが、2行目のアイウエオは半角だと思ってください)
------------------------------------
01234567890123456789
アイウエオ
567890123456789
------------------------------------

672 :デフォルトの名無しさん:2018/05/07(月) 16:11:17.74 ID:iH5JTvso.net
ほうそれは興味深い
自分のプログラムも確認してみなきゃならん

673 :671:2018/05/07(月) 17:15:34.67 ID:aAWzZZt9.net
スミマセン。事象だけを書いて質問をしていませんでした。

単純に、ISO-2022-JPが半角カナをフォローしてないから起きる問題だと思うのですが
半角カナが文字化けするのではなく次の行に影響を及ぼすという形で発現する理由が分からないので、そよあたり何が起きているのか心当たりある方いませんか?ということです。
VBA質問の範疇外でしたら申し訳ないです。

674 :デフォルトの名無しさん:2018/05/07(月) 18:00:50.93 ID:wAes3dqf.net
ADOの問題でEXCELもVBAも関係ないだろ
想像すると、2行目で10バイトのバッファを用意して読み込んでるんじゃね

なんにしても不正なファイル読んでるんだから結果に文句言うべきじゃない

つかその半角カナって文字コードどうなってるんだ

675 :デフォルトの名無しさん:2018/05/07(月) 18:01:50.46 ID:lTkuR+eK.net
excel開いてんならこれかな

[Runtime.InteropServices.Marshal]::BindToMoniker($bookPath).Sheets(1).Cells.Item(1, 1).Value() = "hello, world"

VBAは3行、PSは1行だったね

676 :デフォルトの名無しさん:2018/05/07(月) 18:34:49.37 ID:aDF35JTf.net
GW明けたらめっちゃスレ伸びてて笑う

>>397
晒した。3行は盛り過ぎだったわすまんな
http://codepad.org/vIuvxaqE

これじゃアレなんでもっと差が出るスクリプトも晒すわ
http://codepad.org/tCLxVNML
用意したリストに基づいて置換するスクリプト
よくある操作だけどこういう文字列操作をVBAじゃ絶対にやりたくない

677 :デフォルトの名無しさん:2018/05/07(月) 18:54:03.74 ID:PaBopj+J.net
VBAを否定する理由の一つに、正規表現があると。
なるほどなるほど。

678 :デフォルトの名無しさん:2018/05/07(月) 19:26:19.17 ID:UbBhnDZY.net
>>670
あの程度なら解放は明示しなくても大丈夫

679 :デフォルトの名無しさん:2018/05/07(月) 19:31:19.81 ID:UbBhnDZY.net
>>677
>>536でも使ってるけど正規表現は VBScript.RegExp 使えばいいので言うほど面倒でもない
むしろヒアドキュメントとか文字列中に結果を埋め込んだりするのが面倒

680 :デフォルトの名無しさん:2018/05/07(月) 19:34:03.20 ID:aDF35JTf.net
正規表現以外にも連想配列が貧弱だとかそもそも配列リテラルが無いからリストを扱う気にならないだとか文字列に対する関数が少なすぎるだとか色々

681 :デフォルトの名無しさん:2018/05/07(月) 19:36:11.20 ID:yKJe0Enc.net
は?
そんなん短く書けるように関数を自分で作ればいいだけだろ
なんでも与えられたものばかり使ってたらすぐに腕が落ちるぞ

682 :デフォルトの名無しさん:2018/05/07(月) 19:48:01.62 ID:aDF35JTf.net
僕はコードを書いて悦に浸りたいのではなく目的を達成したいだけなのでそういうのはいいです

683 :デフォルトの名無しさん:2018/05/07(月) 19:51:25.78 ID:hiYeL2zr.net
他の言語にあってVBAに足りないものあるいはVBAだと使いにくいもの

正規表現
コレクション
集合処理
シリアライズ
インターフェース
名前空間
パッケージ
ジェネリック
非同期処理
並列処理
メタプログラミング
ネットワーク
ディスクIO
ラムダ
return
モダン文法

挙げきれないなこれ

>>675
VBAさんまた負けたのか...

684 :デフォルトの名無しさん:2018/05/07(月) 20:29:03.81 ID:vRUpm5v3.net
>>679
(肯定・否定の)後読みがないんだよなあ・・・

685 :デフォルトの名無しさん:2018/05/07(月) 22:21:34.33 ID:YSySr1F0.net
>>675
もう一度聞くけどPSでExcel操作を行う場合は
COMを使ってるわけではないの?
開きっぱなしのしか使えないカタワなロジックはまぁいいとして
メモリ解放をいつも全く記述していないのは何で?

686 :デフォルトの名無しさん:2018/05/07(月) 22:22:36.97 ID:G9Gl/19p.net
>>642
逆。
Excelに乗っかって処理するのがVBAでコード書く場合の普通だ。
だから乗っかって無いのは、そもそもイレギュラーなんだ。

で、VBAについて論じるなら、そういうイレギュラーをメインに論じられても困ると最初から言ってる。

687 :デフォルトの名無しさん:2018/05/07(月) 22:24:20.81 ID:G9Gl/19p.net
>>645
その実例が普通じゃないと言ってるんだが。
これだから日本語分からない奴は...

688 :デフォルトの名無しさん:2018/05/07(月) 22:25:56.82 ID:M2OABdlM.net
そんなんGCが勝手にやってくれるからだろタコスケ
頭の中何年前で止まってんだよ賞味期限切れてんじゃねえの

689 :デフォルトの名無しさん:2018/05/07(月) 22:27:24.84 ID:G9Gl/19p.net
>>649
Excelを操作するとは、Excelファイルを扱うだけなのは除外すべき。
そんな処理を普通ExcelVBAで書くことは無いからな。

690 :デフォルトの名無しさん:2018/05/07(月) 22:29:22.09 ID:M2OABdlM.net
>>689
>>676の2つ目みたいな処理についてどう思われますか?

691 :デフォルトの名無しさん:2018/05/07(月) 22:31:37.26 ID:YSySr1F0.net
ま、外部からEXCELでテトリス作って動かせるっていうなら興味もわくけど
どっちでも出来ることならどっちでもいい。

692 :デフォルトの名無しさん:2018/05/07(月) 22:46:29.50 ID:G9Gl/19p.net
>>676
アホらしいので内容も見ずに書くけど、そういう処理ってVBAで書くことが余り無い。
それに、多分どうでも良いレベルで長くなってるだけだろうと推測する。

昔、VB6での話だがデフォルトプリンタのポ−トを変更するプログラムを書いた時に物凄く面倒な処理になったがDelphiでは簡単なのを見てDelphiは良いなと思った。
VB6ではGetPrinterやSetPrinterとCopyMemory使ってPRINTER_INFO_2構造体を操作する必要があったがDelphiではTプリンタオブジェクトなるものでポートがそのまま変更できた。

こういう場合は確かにDelphiの利点だろう。
もっとも、それが言語の優劣に繋がるわけじゃ無いが。

693 :デフォルトの名無しさん:2018/05/07(月) 22:55:14.88 ID:6opRZcm/.net
要するにおまえら大昔にperlでエクセルいじれるスゲーって言ってたおじいちゃん達の足跡を辿るおこちゃま達なんやなw

694 :デフォルトの名無しさん:2018/05/07(月) 22:59:02.03 ID:YSySr1F0.net
>>688
COM使ってるならGC幾ら呼び出したところで
解放されるわけないだろタコスケ
そんなかで捕まえてるブックやらシートやらいつ解放すんだよ
GCは参照先がなくなって初めて走ったときに解放されんだよ

695 :デフォルトの名無しさん:2018/05/07(月) 23:00:24.60 ID:M2OABdlM.net
>>692
「excel 置換 リスト」でググったら「マクロ」がサジェストされるぐらい沢山の人が人がVBAでマクロ作って公開してる処理なんですがそれは

長文書き散らしといて実際コード貼られたらよくわかんなーいとか馬鹿の極みだな

適切なオブジェクトが用意されてるのも思いっきり言語の優劣につながる話じゃねーか

696 :デフォルトの名無しさん:2018/05/07(月) 23:11:55.30 ID:M2OABdlM.net
>>694
PSだと.net使ってるから解放されないんだな

rubyとかpythonだとGC走った時にcomまで解放してくれるから知らんかったわ

697 :デフォルトの名無しさん:2018/05/07(月) 23:35:14.94 ID:J4V/A43+.net
おいおい解放されないとか嘘ついてまでVBAをよいしょしたいのかよ
.NETでCOMをインスタンス化するとRCWってプロキシが生成されんだよ
で、このRCWがCOMインスタンス本体の参照カウントの面倒見てくれんの
RCWはGCで回収されたら参照カウントを減らしてくれる
いちいち解放を書く必要はないんだわ

698 :デフォルトの名無しさん:2018/05/07(月) 23:42:48.04 ID:M2OABdlM.net
>>697
やっぱり解放されるんだ
最近の言語でその辺の面倒みないとかあり得ないよなと思いつつ調べ方悪くてわからんかった
ありがとう

699 :デフォルトの名無しさん:2018/05/07(月) 23:51:38.06 ID:J4V/A43+.net
>>686
VBAだったらExcelに乗っかるしかないのは当たり前
そういうことじゃない
何かの目的があってプログラムを書くときにそもそもExcelでやるべきなのか?と自問自答することが大事ということ

700 :デフォルトの名無しさん:2018/05/08(火) 00:09:10.73 ID:PzpTdCXD.net
>>698
つまりはこういうこと
http://jeanne.wankuma.com/tips/vb.net/programming/releasecom.html

まぁどっちが手間かは分からんけど

701 :デフォルトの名無しさん:2018/05/08(火) 00:14:14.44 ID:B6wkNjU9.net
>>698
Excelのプロセス終了条件は正しくQuitされてる事とCOMインスタンスが解放されてる事の2つ
GCでCOM参照がクリアされてもQuitされていなければExcelは生き続ける
その仕様を失念してハマったマヌケ達が.NETではCOMが自動で解放されないなどという悪質なデマを流したんだろうね

702 :デフォルトの名無しさん:2018/05/08(火) 00:32:00.90 ID:PzpTdCXD.net
その点VBAはそんなことなーんも考えなくていいから
らくちんだNE

703 :デフォルトの名無しさん:2018/05/08(火) 00:32:38.38 ID:RahqJUTb.net
>>701
アホかwそもそもプロセス終了時にGCは動かんでw

704 :デフォルトの名無しさん:2018/05/08(火) 05:52:33.72 ID:X/JD7QJy.net
>>685
COMだよ
だからあの程度なら解放は明示しなくてもいいと言うだけの話

705 :デフォルトの名無しさん:2018/05/08(火) 05:54:04.37 ID:X/JD7QJy.net
>>687
お前が普通と思うかはどうでもいいよ w

706 :デフォルトの名無しさん:2018/05/08(火) 06:02:55.46 ID:X/JD7QJy.net
>>697
解放されないと言うか解放タイミングが予測できないのが問題なの
RCWってあまりいい仕組みじゃないよ
https://blogs.msdn.microsoft.com/office_client_development_support_blog/2012/02/28/office-3/

707 :デフォルトの名無しさん:2018/05/08(火) 07:14:18.75 ID:wTVQYHt7.net
>>706
面倒くさいねぇ
だから>>675はExcelが開いていることに言及してたのか
Excelを開いたら閉じることも想定されるから
閉じて終了させようとしてもObject捕まえっぱなしで
閉じて終了させられないことがバレちゃうもんねぇ

708 :デフォルトの名無しさん:2018/05/08(火) 08:08:21.77 ID:LVc4+FR0.net
>>707
お前リンク先の話なにも理解できてないだろ w

709 :デフォルトの名無しさん:2018/05/08(火) 09:48:53.93 ID:JB+YJbtj.net
>>708
そのリンク先のさらにPart1のリンク先見て見なよ
完璧に解放するにはここまでやらないといけないんだねぇ
ああ面倒くさい

710 :デフォルトの名無しさん:2018/05/08(火) 12:02:14.08 ID:8DKSnjuv.net
>>706
それが問題になるのは使用済インスタンスが長期間残る可能性が高いデスクトップアプリやサーバーアプリだな
スクリプトは最短距離で目的を達成して速やかにプロセスを終了するのが基本なので使い終わったらすぐにGCやWindowsにリソースをクリーンナップしてもらえるので問題ないんだわ

711 :デフォルトの名無しさん:2018/05/08(火) 12:12:49.21 ID:fJWr41VM.net
>>710
うんうんそれでスクリプト処理で開いたブックは
スクリプト内の処理で捕まったままになって
閉じられずにばんばん開きっぱなしになって残るんだねぇ

ああ恐ろしい

712 :デフォルトの名無しさん:2018/05/08(火) 12:14:31.83 ID:q/XYqxRj.net
>>710
問題あるって話が書いてあるんやがw
おまえホンマに馬鹿やなw

713 :デフォルトの名無しさん:2018/05/08(火) 12:18:23.76 ID:iJTBAWwZ.net
VBAでもへんな落ち方するとタスク残ったままになるけど何が違うの?

714 :デフォルトの名無しさん:2018/05/08(火) 12:24:26.03 ID:LVc4+FR0.net
>>709, >>711-712
人の話を聞けない人?
>>538程度ならExcelが残ったりしない
あとブックとかのクローズとオブジェクトの解放とかは違う話だからごっちゃにしてる時点でなにもわかってないことがバレバレですよ w

715 :デフォルトの名無しさん:2018/05/08(火) 12:26:06.82 ID:q/XYqxRj.net
正常に終了しても明示的に解放しない限りCOMへの参照が破棄される保証はない
とゆうおはなしやでw

716 :デフォルトの名無しさん:2018/05/08(火) 12:28:02.90 ID:OM34GclB.net
>>711
は?
スクリプトならQuitが基本だから残らんよ
>>675のように既存のインスタンスに接続したいかつとじたくないという要求があれば残す
それだけ

>>712
ホンモノのバカって検証しないんだよね
少なくとも俺はサーバーでExcel Automationを使うシステムを何度も経験してるが確実なQuitとGCのおかげでリンク先のようなトラブルに煩わされた事はない
何年も安定稼働している実績がある

717 :デフォルトの名無しさん:2018/05/08(火) 12:38:19.90 ID:fJWr41VM.net
>>714
>>716
うんうん
「〜によってファイルが開かれているため、操作を完了できません。」なんてエラーメッセージは
見たこともないんだろうねぇ

大層な10年間だねぇ

718 :デフォルトの名無しさん:2018/05/08(火) 12:55:25.46 ID:q/XYqxRj.net
>>716
エクセルのインスタンスが残ってもメモリを圧迫するくらいやからな
おまえが気がついとらんだけやろw
そもそもプロセスの終了時にGCは動かんと言っておろうがw

719 :デフォルトの名無しさん:2018/05/08(火) 13:10:03.51 ID:iJTBAWwZ.net
>>717
rubyでExcel操作してるけど見たことない

720 :デフォルトの名無しさん:2018/05/08(火) 13:13:01.29 ID:fJWr41VM.net
これさぁ
よくある処理で読み込み終わったファイルは別フォルダに移動するときに解放されてなかったら一発で終わりだよねぇ

何年間もやっててそういうのに当たらなかったってラッキーだよねぇ

721 :デフォルトの名無しさん:2018/05/08(火) 13:55:31.26 ID:PZU+/yxW.net
こんなクソみたいな言い合いで流されていく質問がかわいそう

722 :デフォルトの名無しさん:2018/05/08(火) 17:48:39.27 ID:RLDOeZ1j.net
>>717, 720
そんなマヌケなエラーはExcel開きっぱなしVBAerの専売特許だろw

>>718
論外

>>721
ログを見るとわかるがVBAerは質問にろくな回答を変えしてない
PSerの方が解答率が高いという意味がわからない状況になってる
VBAerもっと頑張れよ

723 :デフォルトの名無しさん:2018/05/08(火) 18:03:05.92 ID:n71fT5S2.net
PSer VBAer

気色悪い造語まで作ってまぁ。
次は Rybyer か? C#er か?

724 :デフォルトの名無しさん:2018/05/08(火) 18:23:15.70 ID:8UeVEK10.net
PSer(笑)が居なければ皆 質問に答えてくれると思うんですがそれは…

725 :デフォルトの名無しさん:2018/05/08(火) 18:47:27.59 ID:0Wckg3pR.net
>>722
へー
自分がマヌケなのをVBAやってる人に転嫁してVBAやってる人に喧嘩売るんだぁ
VBA自体分からない人がいつまでこのスレで暴れ回って居座っていられるかねぇ

726 :デフォルトの名無しさん:2018/05/08(火) 18:51:24.86 ID:RLDOeZ1j.net
>>725
事実を述べただけなんだよなぁ

727 :デフォルトの名無しさん:2018/05/08(火) 19:12:51.48 ID:xEIBE+xH.net
PSと言えばポストスクリプト
でも頭の中にあるのはパーフェクトソルジャー

728 :デフォルトの名無しさん:2018/05/08(火) 19:50:54.67 ID:nQl5yvJD.net
>>715
プロセス終了してるのにCOMへの参照?
お前COMの仕組みわかってないだろ w

729 :デフォルトの名無しさん:2018/05/08(火) 19:51:44.12 ID:26d0nyKi.net
築二十年の人ン家へ勝手に上がり込んで、トイレが遠いだのオール電化じゃないだの
床暖房じゃないだの言い募ってるのと一緒だな

ウォシュレットとかIHとかソーラーとかをつぶさに語る前に、自分が居座り強盗並みの行為を
してるのには気付けないのかな  勝手に上がり込んだのはマズイとは思わないのかな

730 :デフォルトの名無しさん:2018/05/08(火) 19:51:54.02 ID:nQl5yvJD.net
>>717
うん、ないよ
それ作り方がヘボいだけだし

731 :デフォルトの名無しさん:2018/05/08(火) 19:55:04.51 ID:nQl5yvJD.net
>>729
むしろトイレが遠くてもオール電化じゃなくても快適だもーん
ってやせ我慢してるだけにしか見えん w

732 :デフォルトの名無しさん:2018/05/08(火) 19:57:51.93 ID:rh4JdchR.net
そもそもお前の家じゃない

733 :デフォルトの名無しさん:2018/05/08(火) 20:07:26.39 ID:3X1kagHT.net
結局VBAの質問スレに何しに来てるんだろうなぁこいつら
所詮は本来のスレで変なことばっかり言って追い出されて
仕方なく居場所を求めて荒らし回ってる口だろうなぁ


ああ見苦しい

734 :デフォルトの名無しさん:2018/05/08(火) 20:52:10.15 ID:26d0nyKi.net
>>731
邪魔だ っつってんの 迷惑だと明言してる 喩えも判らんレベルか
わかりやすい例えにしたらガッツリ食い付いてくるんだな
グレードアップする時は自ら選びにいくわ 助言はその時に求めるわ、みずから
戦後の押し売りか トランクにゴム紐入れて売り歩く寅さんか
面白いこと言って見ろよ、ほら

思わず苦笑いするようなチャチャなら読み飛ばすが、連続居座りは御免被る

735 :デフォルトの名無しさん:2018/05/08(火) 21:19:47.00 ID:OdLjkejS.net
勝手にスレを私物化してるお前も十分迷惑だよ
わざわざ長文で反応してんじゃねえよてめぇも出てけ

736 :デフォルトの名無しさん:2018/05/08(火) 21:44:06.06 ID:J/XX4wKL.net
複数条件が重なるとどういった書き方をするのが良いのかわからず混乱してしまいます、何か良い方法がありましたら教えてください
例えば、変数x,y,zがありそれぞれ1-10までの数字が入る可能性があり、x,y,zそれぞれの値が違うと処理も違います
例えばx,y,zが1,1,1だと処理A 1,1,2だと処理B 1,2,1だと処理Kといった様子です
case文をネストして書いてしまっても良いんでしょうか?

737 :デフォルトの名無しさん:2018/05/08(火) 21:59:14.00 ID:SsMGLoTY.net
>>736
ネスとしてもいいし、if文の条件式のとこにandで複数条件書いてもいいんちゃう

738 :デフォルトの名無しさん:2018/05/08(火) 22:05:22.53 ID:UggVkA90.net
>>736
言葉通りにとると1000通りの分岐になるけど、
そんなことはないんでしょ?
おおまかなパターンとしてはどうなってるの?

739 :デフォルトの名無しさん:2018/05/08(火) 22:10:52.74 ID:RuTuN8AF.net
>>736
処理Xがx,y,zを変数として一般化できそうなら頑張って一般化して書く方法を考える

x,y,zによってどんな処理になるか論理的に決定できるなら
x,y,z -> 処理X を返すような関数を先に作って処理ごとにcaseで分岐

論理的に決定できない場合はkeyを"xyz"、valueが"処理X"みたいなDictionaryを用意する

x,y,zの組み合わせごとに処理が全部異なるなら、
index = 1000^(x-1) + 100^(y-1) + 10^(z-1)
みたいにindexを計算してindexごとにcaseで分岐させる
(10^3通りになってありえないケースだと思うけど)

思いつくのはこんなもん
caseネストするのは頭おかしなるで

740 :デフォルトの名無しさん:2018/05/08(火) 22:15:38.92 ID:RuTuN8AF.net
最後のindex計算するのは意味ねえな忘れてくれ

741 :デフォルトの名無しさん:2018/05/08(火) 22:19:59.22 ID:fJWr41VM.net
>>736
後ろに続く処理次第だねぇ
一つの役割内で短く細かく纏まる分岐ならそれでいいし
分岐先がちょっと大きくて役割も違う処理だったら関数やメソッドにして呼んでやればいいし
根幹部分で大きな処理に沢山分かれるようなら
分岐を行うところも関数化して処理番号を返却するようにして
その番号に該当する関数名を前もってコレクションに突っ込んでおいて
引っ張り出してCallByNameで呼ぶ方法もあるよぉ

他にもあるけどVBAではこのくらいが丁度いいと思うなぁ

742 :デフォルトの名無しさん:2018/05/08(火) 22:27:45.23 ID:X/JD7QJy.net
>>734
> わかりやすい例えにしたらガッツリ食い付いてくるんだな
アホな喩えをバカにされてるだけだろ

743 :デフォルトの名無しさん:2018/05/08(火) 22:54:19.84 .net
>>736
やりたい処理内容によるけど、こういう書き方をするとすっきり書けるかも

Dim sid As String

sid = CStr(x) & “-” & CStr(y) & “-” & CStr(z)

Select Case True
 Case sid Like “1-1-1”
  Call ProcA
 Case sid Like “1-1-2”
  Call ProcB
 Case sid Like “1-2-1”
  Call ProcK
 Case sid Like “1-3-*”
  Call ProcC
 Case sid Like “[4,5,6]-[!1,2,3]-*”
  Call ProcD
 Case Else
  Call ProcZ
End Select

パターンマッチングの記法はLike演算子のヘルプを見てね

744 :デフォルトの名無しさん:2018/05/08(火) 23:00:52.76 .net
>>743
あとは、

> sid = CStr(x) & “-” & CStr(y) & “-” & CStr(z)

sid = Format(x, “00”) & “-” & Format(y, “00”) & “-” & Format(z, “00”)
にして
“01-02-03” の形式にしたほうが

sid Like “##-15-##”
sid Like “9#-##-##”

みたいに書けて、より扱いやすいかも

745 :デフォルトの名無しさん:2018/05/08(火) 23:27:07.19 ID:J/XX4wKL.net
皆さんありがとうございます
レス参考に考えてみます

後から小出しに条件変えるのはどうかと思ったんですが、例が少しアレだったのでもう少し状況説明します

x,y,z全て文字列型でxは4通り,yは12通り,zは18通り、後続処理はメール送信です
使用する既定の本文テンプレートのどれを使うかを変数で判定してます
テンプレート自体は8通りで変数の組み合わせによってはメール送信しない場合もあります
ただ規則性はほとんど無く、例ですが1[1-3]1はテンプレA。 1[4-6]1はテンプレB。 171は未送信。 181はテンプレAのようにごちゃごちゃしてます。

ただxが3.4の時は処理がそれぞれ固定の為、早期リターン?で処理を書き、xが1,2の場合は全部羅列しようかと思ってます

746 :デフォルトの名無しさん:2018/05/08(火) 23:35:13.46 ID:FrjuwbIK.net
>>695
いや、貼られたコード見てない。
アホらしいので。

>>699
正にその通り。
しかし、VBAが使われる場面を考えれば当然Excelでやるべき場面なわけ。
君がExcelである必要無いと言っても、仕事では他のExcel文書とやり取りしたり、その処理以外に関数とかExcelの便利機能も使うわけで。
組む処理以外の面でExcelであるべきということはたくさんある。

>>705
Excel起動せずにVBAを動かすのが普通か?

どれも共通してるのはPSやRubyの例はバッチ処理だろうけどVBAで想定されてるのはバッチ処理ではないということ。
あるいはバッチ処理もするけど、それ単体で使われることは想定されてない。
単体で使われる処理"も"書けるけど、Excel使った業務に沿って対応する処理を書けるのは有利だ。
それで、業務に沿ってExcel開いた状態で実行する処理についてはVBA以外だと不利じゃないの?ということ。

例えばADOでDBに繋げて取ってきたデータをそのExcel上でその場で見れるわけ。
もちろんC#とかでExcelを介在させないで組むなんてのもありだがExcelは会社のPCなら誰のPCにも入っているし、別のデータ(当然Excelのデータ)ともやり取りしやすい。
というか、開いた状態で、別のデータも表示されてる状態からのスタートだったりするからやり取りじゃないか。

747 :デフォルトの名無しさん:2018/05/08(火) 23:42:26.20 ID:FrjuwbIK.net
>>707
違う。そういう意味合いで開いた状態について言及したわけじゃない。
実際、VBAで書く処理はバッチ処理じゃなくて今表示されてる表に対しての処理だとか、バッチ処理でも今表示されてる表にバッチ処理の結果を組み合わせたりの場合が普通で、単純なバッチ処理なんて殆ど組むことが無い。

748 :デフォルトの名無しさん:2018/05/09(水) 00:00:09.89 ID:Yu+xGlRu.net
>>746
バッチ処理じゃねーよ
2週ぐらい理解が周回遅れだぞ

749 :デフォルトの名無しさん:2018/05/09(水) 00:19:49.71 ID:w1k9kHe1.net
なんか「少なくともExcel上では〜」とか縄張り争いみたいになってるね。
自分はExcelに限らずVBA使ってるよ。例えばOutlook。これは常に立ち上がってるから。
Outlookのオブジェクトモデルなんて知らないし、メールとは全然関係ない処理で使う。
イミディエイトウィンドウをシェル代わりにしてワンライナーを書くのさ。
ExcelはIOが多めになったときにシートを使うくらいかな。
バッチ的な処理ももちろんVBAだ。

750 :デフォルトの名無しさん:2018/05/09(水) 00:35:13.23 .net
>>749
それは個人の趣味の範疇だから好きにすればって感じ

751 :デフォルトの名無しさん:2018/05/09(水) 02:52:59.97 ID:fZf43uAK.net
なんでこんなくだらない話をいつまでも続けてるのかわからないけど
ここはあなた達が何をしてるか発表する場じゃなくて、わからない人が質問をしてわかる人がそれに答える場なので
どれだけ良いコードが書けようがそんな事もわからないんじゃまともな仕事はできそうにないですね

752 :デフォルトの名無しさん:2018/05/09(水) 03:47:11.80 ID:wUvS2pdo.net
>>749
さすがにそれはPS最高君を見習ってもいいぞ

753 :デフォルトの名無しさん:2018/05/09(水) 04:08:41.95 ID:DtKw0WOF.net
連休が終わったら話も終わるだろうと思って見てたけど、さてはお前らまともに仕事してないエアプログラマーだな?

754 :デフォルトの名無しさん:2018/05/09(水) 05:53:37.33 ID:SERID1ot.net
変なのが来たときみんな触るからいけないんだよ
NGIDにしといて誰もレスつけなければそのうち勝手に消える

755 :デフォルトの名無しさん:2018/05/09(水) 06:04:55.40 ID:SavMNDDu.net
>>746
> Excel起動せずにVBAを動かすのが普通か?
だからお前が普通と思うかどうかはどうでもいい
そう言うことをやりたい>>529がいてPSの方が楽に実現できると言う事実があるだけ

> 例えばADOでDBに繋げて取ってきたデータをそのExcel上でその場で見れるわけ。
PSでもC#でもExcel起動して表示したままにするとか普通にできるぞ
まさかそんなことも知らんのか?

756 :デフォルトの名無しさん:2018/05/09(水) 06:57:27.89 ID:SERID1ot.net
>>755
はいはいPSすげーすげー

PSを賞賛するスレとかPSerが傷を舐め合うスレとか立ててそっちでやれや

757 :デフォルトの名無しさん:2018/05/09(水) 07:11:12.83 ID:yKqvqHOX.net
> NGIDにしといて誰もレスつけなければそのうち勝手に消える
>>756はバカと言うことだなww

758 :デフォルトの名無しさん:2018/05/09(水) 07:29:34.49 ID:SERID1ot.net
>>757
馬鹿はすぐ釣れるから困る
コイツもNGIDだな

759 :デフォルトの名無しさん:2018/05/09(水) 08:48:12.99 ID:u9lv0tHz.net
>>745
スパムメール

760 :デフォルトの名無しさん:2018/05/09(水) 08:50:09.41 ID:Yu+xGlRu.net
どうやらExcel起動してPSで動かすことも可能という事がわかってない奴がいるらしい

761 :デフォルトの名無しさん:2018/05/09(水) 10:13:15.95 ID:idFoGogH.net
>>760
あと、どんなことができますか?
VBScriptみたいにVBA内に記述できるとうれしいのですが、、、

762 :デフォルトの名無しさん:2018/05/09(水) 10:27:49.21 ID:Yu+xGlRu.net
>>761
何を言っているのかよくわからない
VBScriptだったらGetObjectですでに開いてるExcelのインスタンス取得してどうとでも操作できるけど
VBA内に記述????

763 :デフォルトの名無しさん:2018/05/09(水) 11:03:26.74 ID:idFoGogH.net
>>762
いやぁ、VBScriptってCreateObjectでVBE内に直書きできるじゃないですか。
PSも似たような感じで中にかけると便利だなと思って。
PS1ファイルに記述するとして、たとえばExcel内のボタンやEventに割り付けるときって
具体的にどのようにするのでしょうか。

764 :デフォルトの名無しさん:2018/05/09(水) 11:43:28.49 ID:Yu+xGlRu.net
>>763
powershellがcomサーバーに登録されてないから無理だね
WScript.Shellで無理やりできなくもなさそうだけど

ボタンやユーザー定義ワークシート関数とかのイベントハンドラが出てくるときは今のところVBAを使うしかない
以前のレスでも散々言われてるVBAの唯一のアドバンテージ

765 :デフォルトの名無しさん:2018/05/09(水) 11:57:17.22 ID:idFoGogH.net
>>764
なるほど、外のファイルを直接叩くんですか。
中から呼ぶとすると、Shellコマンドで呼ぶ感じですか?

ちなみに管理ユーザ以外でPS1ファイル実行する際、Set-ExecutionPolicyでしたっけ、
これ設定されていない端末では一般ユーザは実行できましたっけ?

766 :デフォルトの名無しさん:2018/05/09(水) 12:10:21.66 ID:Yu+xGlRu.net
>>765
忘れた
そんくらい自分で試すかググれや

767 :デフォルトの名無しさん:2018/05/09(水) 12:22:14.29 ID:yKqvqHOX.net
久々に後釣り宣言なんて見たわ w

768 :デフォルトの名無しさん:2018/05/09(水) 12:25:06.10 ID:idFoGogH.net
>>766
冷たいなぁ。もっとやさしくPowerShell啓蒙してくださいよ。
みんなにおすすめしたいから、わざわざこのスレにこられているんですよね?
Excel操作に詳しいPowerShell関連サイトでおすすめがあったら教えてください。
VBAとの比較とかあるとうれしいです。

769 :デフォルトの名無しさん:2018/05/09(水) 12:26:57.73 ID:idFoGogH.net
>>767
後釣り宣言って?

770 :デフォルトの名無しさん:2018/05/09(水) 12:29:51.31 ID:et5rpIq2.net
>>767
釣り宣言したら釣りにならないだろ?
そんなことも分からないゴミは死んどけ

>>768
PowerShellのスレに行け

771 :デフォルトの名無しさん:2018/05/09(水) 12:31:39.91 ID:idFoGogH.net
じゃぁ、話題を変えてVBAの質問です。
教えてください。
1.4万行の検索範囲セルx1.4万行の検索値の単純マッチングをMatch関数で行った場合、
約36secかかります。これを高速化しようと思い、前者TableをVariant型に投げ込んで
検索したところ、結果120secに延長してしまいました。
配列上で処理したほうがより高速に動くという認識だったのですが、どのように解釈すれば
よいでしょうか?
検索値、値はStringです。

772 :デフォルトの名無しさん:2018/05/09(水) 12:40:19.25 ID:3+WmT7VP.net
>>771
ソートしたか?

773 :デフォルトの名無しさん:2018/05/09(水) 12:43:03.63 ID:QVPn4o2T.net
後釣りの意味がわからないならググれ
どのレスのこと言ってるのかわからないならこのスレを「釣」で検索

774 :デフォルトの名無しさん:2018/05/09(水) 12:56:39.40 ID:idFoGogH.net
>>772
検索範囲を昇順ソートしてみました。結果、、
 ・Cell範囲の場合: 43sec
 ・配列の場合: 127sec
ん? 更に延びた。さっきのはキャッシュでも効いてたのかな?
Stringの中身は "ID-枝番" 書式の文字列です。

775 :デフォルトの名無しさん:2018/05/09(水) 14:17:26.27 ID:3+WmT7VP.net
>>774
検索アルゴリズムをバイナリサーチにしてないんじゃないの?

776 :デフォルトの名無しさん:2018/05/09(水) 15:17:53.88 ID:eDrKJyoy.net
初めまして。共有保護について教えていただけませんでしょうか。
共有保護解除→マクロ処理終了→共有保護設定をする方法を作ってみましたが問題がありました。
「On Error Goto」を入れるとエラー発生→共有保護設定後、一回閉じてまた開くと「共有」が消えてしまう。
色々試したけどダメでした。(「On Error Goto」を設定しないとうまくいく。)

Sub 共有保護解除設定()
Dim x As String:x=1
On Error GoTo myError
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ActiveWorkbook.UnprotectSharing Sharingpassword:="aaa"

Do: Sheets( x ).Delete: x = x + 1: Loop

  myError:

  ActiveWorkbook.ProtectSharing Sharingpassword:="aaa"

End Sub

777 :デフォルトの名無しさん:2018/05/09(水) 18:14:36.75 ID:iSDGF1Po.net
>>776
よく分からんけど
何故にエラーの飛び先をループの中に突っ込むのか

778 :デフォルトの名無しさん:2018/05/09(水) 18:16:21.44 ID:moyciPZH.net
>>765
実行ポリシーにはスコープという概念がある
スコープはマシン、ユーザー、プロセスがある
ユーザー、プロセスの実行ポリシー変更は管理者権限不要
ユーザースコープの実行ポリシーを変更するのがベターだね

>>763
コマンドプロンプトみたいにVBSファイルを指定して実行できるし
スクリプティング環境をComインスタンスとして生成することもできる
直書きというのは何のこと言ってるのかわからんな

需要がないからやったことないけれどexcelのイベントにCLRのハンドラを登録することは可能だよ
オススメはしない

779 :デフォルトの名無しさん:2018/05/09(水) 19:46:24.05 ID:wUvS2pdo.net
>>771
VBAは基本的にシングルスレッドで動く
今のワークシート関数とかは、条件が整えばマルチスレッドで動く

なので、必ずしもVBAの方が早くなるとは限らんのだよ
Match関数がどうなってるかは知らんがな

780 :デフォルトの名無しさん:2018/05/09(水) 19:58:04.93 ID:hUIK0iNE.net
二分探索使ってないとか初歩的なことじゃなく?

781 :デフォルトの名無しさん:2018/05/09(水) 20:43:17.83 ID:z3LuxVKv.net
>>771
Variant配列には何が入ってるかわからんので最適化しにくい

782 :デフォルトの名無しさん:2018/05/09(水) 20:59:13.98 ID:HhkRUfwj.net
このように答えがついても反応しない質問者がよくいるからQA以外の話題で盛り上がる。
ま、興味深い話題ならいいんだけどね。

783 :デフォルトの名無しさん:2018/05/09(水) 21:26:33.65 ID:fZf43uAK.net
>>777
ループの中じゃなくね?

784 :デフォルトの名無しさん:2018/05/09(水) 21:43:05.88 .net
>>776
ActiveWorkbook.ProtectSharing の後に
ActiveWorkbook.ExclusiveAccess を入れてみれば?

知らんけど

785 :デフォルトの名無しさん:2018/05/09(水) 21:52:15.61 ID:idFoGogH.net
>>778
スコープの件、了解です。
いろいろ試してみます。

786 :デフォルトの名無しさん:2018/05/09(水) 21:53:17.93 ID:idFoGogH.net
>>779
メモリに乗せれば単純に早くなるわけではないんですね。

787 :デフォルトの名無しさん:2018/05/09(水) 21:55:25.27 ID:w1k9kHe1.net
>>786
配列のマッチングはどうやって書いたの?

788 :デフォルトの名無しさん:2018/05/09(水) 21:57:44.24 ID:idFoGogH.net
>>780
Match使うときはたいてい絶対一致でつかってました。
クロスマッチになっちゃうんでしたっけ?
ここのカキコみて、以前、高速Lookupは使ったことがあるのですが、、
半分うろ覚えです。
リストを昇順ソートして、第3引数を 1 にするだけじゃ
だめですよね。変な答えが返ってきます。

789 :デフォルトの名無しさん:2018/05/09(水) 21:58:30.50 ID:idFoGogH.net
>>781
そうですか。型かえてみようかな?

790 :デフォルトの名無しさん:2018/05/09(水) 22:14:27.61 ID:idFoGogH.net
>>787
いろいろ省略してますが、こんな感じです。

Dim rngFdList as Range: Set rngFdList= Range( ** 以下略(調査表) **
Dim arrFdList as Variant: arrFdList = rngFdList

For each r In Range( ** 以下略(駆動表) **
 With Application
 iHit = .IfError( _
    .Match(r.value, arrFdList, 0), _
    0 _
   )
 End With

 (処理...)
Next

791 :デフォルトの名無しさん:2018/05/09(水) 22:19:47.47 ID:w1k9kHe1.net
>>790
なんだ、ワークシート関数を使ってるのか。
それじゃ配列処理にする意味ないな

792 :デフォルトの名無しさん:2018/05/09(水) 22:23:25.94 ID:idFoGogH.net
>>779
ああ、ワークシート上の関数と比較して、じゃなく、VBA上でMatch関数を使う際に
テーブルをRange指定するか、配列指定するかで速度が変わった、という話です。
これもマルチスレッドが関係します?

たぶんMatchの使い方がまずいんだと思いますが、、

793 :デフォルトの名無しさん:2018/05/09(水) 22:25:05.08 ID:idFoGogH.net
>>791
Matchのほうが早いかなと思って。
Forで回したほうが早いですかね?
それとももっといい方法が、、、
教えてください。

794 :デフォルトの名無しさん:2018/05/09(水) 22:28:35.61 ID:iSDGF1Po.net
>>783
本当だ
セミコロンで複数の命令繋げて
ご丁寧にインデントまで変えてあるから分からなかった

795 :デフォルトの名無しさん:2018/05/09(水) 22:49:17.51 ID:w1k9kHe1.net
>>793
>>772>>775は理解できたの?
これに反応しないからこちらからは状況がよくわからん。

796 :デフォルトの名無しさん:2018/05/10(木) 01:15:35.99 ID:/NGeWAX7.net
エクセル2016や2013等の新しいエクセルで追加された関数を、
2010等の下位バージョンで動作させるような、
ユーザー定義関数が書かれたVBAモジュールを配布しているサイトってありますか?
検索の仕方が悪いのか、自分では見つけられませんでした。

797 :デフォルトの名無しさん:2018/05/10(木) 06:25:28.16 ID:hUon7v2K.net
>>793
セルにアクセスしてループしてるじゃん。そりゃ遅いわ。
メモリ上でループすれば速くなるよ。

処理がこれだけならセル上の関数でも工夫すりゃ同じ速度出そう。
完全一致使わない方法とかで。

798 :デフォルトの名無しさん:2018/05/10(木) 06:42:21.45 ID:n6BTi4dI.net
>>796
ピンポイントで〇〇の関数を2010で使いたいと言うならまだしも2013/2016の関数って一言で言われてもなぁ

799 :デフォルトの名無しさん:2018/05/10(木) 06:45:52.61 .net
>>790
何回も検索するんならDictionary使えばいい
最初にDictionaryに登録するのにある程度時間がかかるだろうが
一回登録してしまえば検索自体は数秒もかからん

800 :デフォルトの名無しさん:2018/05/10(木) 08:15:00.88 ID:/JKhPozC.net
>>796
(関数名) 再現 2010
とか検索したら出てくるんじゃないかな。
IFSとか見つけたけど。

801 :デフォルトの名無しさん:2018/05/10(木) 10:09:42.27 ID:1RQmg1q/.net
答えがついてもろくに反応しない質問者がいるからQA以外の話題で盛り上がる

ってのは本当だな

802 :デフォルトの名無しさん:2018/05/10(木) 10:46:30.23 ID:JA/wCecl.net
>>776です。

>>784
ありがとうございます。
試したけどエラーになります、、、。
いろいろ調べた結果、共有設定の条件によって保存できない。
諦めます(泣)

ありがとうございました。

803 :デフォルトの名無しさん:2018/05/10(木) 13:58:29.65 ID:IeALN+vJ.net
>>795
二分探索は理解不十分。Matchの第3引数を0にするとバイナリサーチにはならない
んですよね。わかってないからこのザマです。ちょっと勉強してみます。

804 :デフォルトの名無しさん:2018/05/10(木) 13:58:57.48 ID:IeALN+vJ.net
>>797
>>797
駆動表側のこと?
今はテストなのでセル範囲だけど、実際はもっと時間のかかる別からの供給。
そしてその先にSQL処理があるので、余計なクエリを投げなくていいように篩いにかけて
おこうという意図です。
なので調査対象の表(こちらはセル範囲へ記録した履歴情報)だけでも配列に入れて
高速化しようと試みたんだけど、このザマです。

805 :デフォルトの名無しさん:2018/05/10(木) 14:05:11.32 ID:IeALN+vJ.net
>>797
Dicかぁ、今、ちょっと時間がとれないので、また試してみます。
早くなるかな?普通の入れ子のLoopとか、Dictionaryとか、いろいろ試してみます。
目標10sec。

806 :デフォルトの名無しさん:2018/05/10(木) 14:06:13.75 ID:IeALN+vJ.net
>>805
あれ、安価ミス。799への回答でした。

807 :デフォルトの名無しさん:2018/05/10(木) 15:30:36.46 ID:QBpsjCo6.net
SQLiteでいいじゃん

808 :デフォルトの名無しさん:2018/05/10(木) 16:51:36.95 ID:jLma9UA8.net
>>807
それ言えば、またこちらの環境ではセキュリティがどうのこうので入れられない〜とか言い出す奴が出てくる
んで、もうExcel限定で良いっしょ。パワーシェルキチは論外としてw

809 :デフォルトの名無しさん:2018/05/10(木) 17:47:50.99 .net
>>805
このへん見るに、かなり高速化できそう
まあループよりハッシュのほうがそりゃあ圧倒的に速いに決まってるけど
https://excel-ubara.com/excelvba4/EXCEL268.html

810 :デフォルトの名無しさん:2018/05/10(木) 17:54:52.83 ID:7DjALtvb.net
エクセルマクロはやりたい放題なのにセキュリティとか片腹痛いわ

811 :デフォルトの名無しさん:2018/05/10(木) 19:14:27.72 ID:39NqoQfJ.net
Excel VBAで悪意のあるもの作るには本人の意思が必要。
外部ソフト入れるなら意図しないものが混入する可能性がある。
これぐらい理解できないのか?

812 :デフォルトの名無しさん:2018/05/10(木) 19:26:28.88 ID:NzRSgzkJ.net
オプソならすっきり解決

813 :デフォルトの名無しさん:2018/05/10(木) 20:08:04.83 ID:F9pCnCSA.net
>>811
内部犯やチョンボを考えられないあたりが事務員さんって感じで微笑ましい

814 :デフォルトの名無しさん:2018/05/10(木) 21:33:49.65 ID:n6BTi4dI.net
>>811
怪しいサイトからダウンロードするならまだわかるけどメジャーなオプソでそんなコードが見つかったら祭りになるわ w

815 :デフォルトの名無しさん:2018/05/10(木) 21:36:46.67 ID:w2ga1e/f.net
EXCELはWebシステムみたいに外部と繋がってないから
比較的被害は小さくて済むよね

でも以前仕事場で
内部にファイル勝手に消えたり
外部接続の無い環境でウイルスらしきものが見つかったりしたことがあって
上の人から秘密裏に頼まれてファイル監視システム作ったこともあったな

816 :デフォルトの名無しさん:2018/05/10(木) 21:39:40.05 ID:39NqoQfJ.net
>>813
チョンボでセキュリティを突破するようなもの作れるの?


>>814
で、どうやって有名無名を判断するの?

会社勤めしたことあるのかって発言してるよ?w

817 :デフォルトの名無しさん:2018/05/10(木) 21:58:33.12 ID:F9pCnCSA.net
>>816
一斉メールのBCCをCCに入れちゃったみたいなクソみたいなミスでも情報流出は情報流出
内部から持ち出すのは悪意あろうと無かろうとほんと簡単なんだよ
学生さんはのんきでいいよな

818 :デフォルトの名無しさん:2018/05/10(木) 22:00:56.75 ID:39NqoQfJ.net
>>817
急に持ち出す話?w
ccとかbccを覚えたてで使いたかったのかな?w

819 :デフォルトの名無しさん:2018/05/10(木) 22:39:02.43 ID:n6BTi4dI.net
>>815
webシステムが外部と繋がってる?
イントラも知らんのか?

>>816
判断してやるから具体的な名前だしてみ
てかまともな情シスならホワイトリストとか持ってるし

820 :デフォルトの名無しさん:2018/05/10(木) 22:49:26.50 ID:qtzmRLVh.net
>>819
オマエが判断するのかよw

821 :デフォルトの名無しさん:2018/05/11(金) 00:26:28.42 ID:Nk9NYlAC.net
揚げ足の取り合いというか、マウント合戦というか
油断するとすぐ始まるw

822 :デフォルトの名無しさん:2018/05/11(金) 00:34:08.57 ID:DwsuJYIZ.net
>>798,800
prototype.jsのようなVBAファイルがあればと思ったので。
個々にであればいくつか見つけているので、その都度対応するようにします。

823 :デフォルトの名無しさん:2018/05/11(金) 01:02:06.52 ID:gtt7+D13.net
色んなソフトがAPI公開してexcelと連動して、みたいなこと言ってるけど実際やってる人いる?
わざわざエクセルから操作する必要性が分からない

824 :デフォルトの名無しさん:2018/05/11(金) 04:46:34.78 ID:Seo60ZfW.net
>>823
昔、カルテサーバから翌日の輸血オーダ情報を取得して、ちょっと複雑にレイアウトしたTEPRAフォーマットに流し込んで、ハーフカットで輸血ラベルをジャンジャン印刷するのを作った記憶が。
あんまりたいした内容じゃなかった気がするけど。
それこそExcel必要?って言われるかもだけど、現場受けはよかったような。

825 :デフォルトの名無しさん:2018/05/11(金) 05:04:34.87 ID:stSNQlqp.net
>>819
お前の会社のイントラは世界中の晒しものになっているのか
そりゃ危険だな

826 :デフォルトの名無しさん:2018/05/11(金) 06:51:44.72 ID:CplZ+xhH.net
>>824
SPC9-APIとか使ってたなら.csvファイル経由でデータを渡すからExcel使うのはある意味自然だと思う

827 :デフォルトの名無しさん:2018/05/11(金) 06:52:25.93 ID:CplZ+xhH.net
>>825
???
ますます意味不明になってるぞ w

828 :デフォルトの名無しさん:2018/05/11(金) 07:49:28.76 ID:gtt7+D13.net
>>824
ありがとう
そういうちょっとした手間の省略は大事よね
もう少し探って見るわ

829 :デフォルトの名無しさん:2018/05/11(金) 08:33:12.57 ID:OTx54W6B.net
PSキチガイもいなくなってひと段落といったところか
何か前他の板でもPSはキチガイ独占みたいなのを見たことがあった
それは多分PowerShellとは違うPSなんだろうけど
得てしてPSと言うのはそんなんばっかだってことだろうな

830 :デフォルトの名無しさん:2018/05/11(金) 08:45:45.24 ID:xisUVEWN.net
何一つ言い返せなかったけどそれじゃ悔しいから敵が去った後に負け惜しみを言う人w

831 :デフォルトの名無しさん:2018/05/11(金) 08:45:45.76 ID:RS6TTfPa.net
>>829
お前も消えろ

832 :デフォルトの名無しさん:2018/05/11(金) 11:08:18.88 ID:Pz/tQeeR.net
シート1のA44:I44のセルを、マクロでシート2の最後列に貼り付けていきたいです。
下記のマクロだと、シート1のA44のセルをシート2の最後列のAのセルにのみ、コピーするだけになってしまいます。
どう変更すればいいのか、よかったら教えて頂きたいです。
よろしくお願いします。

Sub テスト()
Dim LastRow As Long
With Worksheets("シート2")
LastRow = Worksheets("シート2").Range("A"&Rows.Count).End(xlUp).Row + 1
Range("A"&LastRow).Value=Worksheets("シート1").Range("A44:I44").Value
End With
End Sub

833 :デフォルトの名無しさん:2018/05/11(金) 11:49:30.00 ID:WIuYiP4/.net
VBA エキスパート スタンダードより難しい資格ってありますか?

834 :デフォルトの名無しさん:2018/05/11(金) 12:16:30.12 ID:hascnQXs.net
>>833
えんべでっどすぺしゃりすと

835 :デフォルトの名無しさん:2018/05/11(金) 12:17:44.23 ID:Pz/tQeeR.net
>>832
なんでも質問スレの方に書き込みました
すいません

836 :デフォルトの名無しさん:2018/05/11(金) 12:41:09.45 ID:HsLVJmEf.net
>>834
VBAのスレで聞いてるんだからVBAの資格ってことだってわかるだろw

837 :デフォルトの名無しさん:2018/05/11(金) 13:06:15.00 ID:udjF1/Ux.net
>>836
最近はpowershellの話題も取り扱うようになったからそっちの資格かもしれない

838 :デフォルトの名無しさん:2018/05/11(金) 19:31:54.26 ID:cdAz752k.net
入力ヴァリデーションのやり方を教えてください

表形式のデータで1行1エンティティです
入力長さ、最小最大値、正規表現パターンなど基本的なカラムごとに独立したヴァリデーション
開始日終了日の順序などのエンティティ内の複数カラムにまたがるヴァリデーション
REST APIでサーバーに問い合わせる非同期ヴァリデーション
集計値の最大値やリレーションの存在確認など表全体のヴァリデーション
を行いたいです

入力が止まるとUXが悪化するのでエラーメッセージはメッセージボックスで表示したくありません
一定時間で消えるかフォーカスすると消滅する吹き出しのようなコントロールが理想です

これらを可能な限り宣言的にかつGUIからのチマチマとした面倒な設定は無しで実装したいです
REST APIや表全体のヴァリデーションの実体はUIと独立したCOMコンポーネントが行うので後はUIと紐付けるだけです

839 :デフォルトの名無しさん:2018/05/11(金) 20:13:41.96 ID:HsLVJmEf.net
>>838
文章だけで聞くレベルじゃないと思う

840 :デフォルトの名無しさん:2018/05/11(金) 20:33:45.50 ID:VErxDUwc.net
>>839
C#erか、Rubierか、PSerからの宿題じゃないの?

841 :デフォルトの名無しさん:2018/05/11(金) 21:41:23.33 ID:4Lj210NT.net
ガチガチに入力規制するなら素直にAccess使おうよ…

842 :デフォルトの名無しさん:2018/05/11(金) 21:43:15.64 ID:OTx54W6B.net
>>838
もう自分でやり方書いちゃってるじゃん
その通りに実装すれば良いだけじゃないの?

843 :デフォルトの名無しさん:2018/05/12(土) 00:56:13.10 ID:0dcq7Vjr.net
駆け出しの自分には質問内容すらさっぱりなんだが
このスレの住人はこの話の内容が理解できるくらいのレベルなの?
久しぶりに日本語が分からないって思ったわ

844 :デフォルトの名無しさん:2018/05/12(土) 01:10:53.14 ID:tqwvTn43.net
>>838
入力したそばからバリデーションを走らせたいの?

845 :デフォルトの名無しさん:2018/05/12(土) 04:58:53.18 ID:F7D6rAHG.net
>>843
データベースではよくあるけど間違ってもExcelでやる事じゃないから気にしなくていいぞ

846 :デフォルトの名無しさん:2018/05/12(土) 07:55:43.25 ID:hwxaPbIq.net
無料の「Rails チュートリアル」で勉強すれば?
例えば、Rails で一般的な入力バリデ(validation)は、

空ではない
presence: true

1〜50文字
length: { in: 1..50 }

整数のみ
:only_integer

847 :デフォルトの名無しさん:2018/05/12(土) 08:27:40.09 ID:iloBjJ0s.net
>>843
Webアプリケーションなら典型的と言っていい

848 :デフォルトの名無しさん:2018/05/12(土) 09:48:01.99 ID:tqwvTn43.net
>>838
こういうのはポリモーフィズムを利用したくなる典型例の気がする。
型ごとに checkMe メソッドを定義するとか。
ちょっと古くさいかもな。

849 :デフォルトの名無しさん:2018/05/12(土) 10:58:14.77 ID:tJgrjt+6.net
凄いよ
MVVMやってる横で
MVCで頑張りましょうって言われた感じ
流石PSはキチガイ独占だNE

850 :デフォルトの名無しさん:2018/05/12(土) 11:27:49.88 ID:P5sx5scC.net
>>849
どこにレスしてんの?

851 :デフォルトの名無しさん:2018/05/12(土) 11:31:03.75 ID:tqwvTn43.net
>>849
MVVMってなに?(wikipediaのページを読みながら)

852 :デフォルトの名無しさん:2018/05/12(土) 11:43:33.47 ID:g9HMZZiK.net
>>851
京急で採用してるインバーターの事やで(大雑把なボケ)

853 :デフォルトの名無しさん:2018/05/12(土) 19:33:17.11 ID:iloBjJ0s.net
VBAにはMVVMもMVCもない
でも事務員さんのツールだからそれでいい

854 :デフォルトの名無しさん:2018/05/12(土) 19:47:10.61 ID:tqwvTn43.net
事務員て何?
システム開発の専門家以外のホワイトカラーだったら全部事務員でOK?

855 :デフォルトの名無しさん:2018/05/12(土) 19:50:29.63 ID:anlHVJo4.net
IT、システムが専門じゃない人でいいんじゃないの?

856 :デフォルトの名無しさん:2018/05/12(土) 21:19:03.46 .net
Excelとパワポしか触ってないIT元請け企業の社員とかね

857 :デフォルトの名無しさん:2018/05/13(日) 00:43:57.24 ID:i7PAGBqe.net
過疎ってんなぁ

858 :デフォルトの名無しさん:2018/05/13(日) 09:38:43.13 ID:Mp8iXUe3.net
クソな話題文句の言い合いでただ伸びているよりはマシ

859 :デフォルトの名無しさん:2018/05/13(日) 09:42:02.16 ID:i7PAGBqe.net
クソ or 過疎ならもうスレ要らなくねえか?

860 :デフォルトの名無しさん:2018/05/13(日) 10:08:12.60 ID:V2dj1TCI.net
土日くらい休めよ

861 :デフォルトの名無しさん:2018/05/13(日) 10:55:04.93 ID:hA5qejl9.net
今までC++とかの酷い奴も来たけど
今回のPSキチガイは群を抜いて酷かったな
もう二度と現れないで欲しいよね

862 :デフォルトの名無しさん:2018/05/13(日) 10:55:35.20 ID:wyHt0Mjp.net
二分探索、そしてMatchでこれを活用する方法、理解できました。
・要:調査表の検索キーソート。
・検索キーが数値を含む文字列なので桁揃えする必要あり。
・Matchでは完全一致での二分探索はできないので、戻値と元値の比較が必要。
この編がポイントでしょうか。
目標10秒以内を目指し、皆さんのアドバイスを元に順に試しましたが、結局この二分探索
のすさまじい結果に驚き、辞書までは試しませんでした。多分これも早いんだろうけど、、
(つづく)

863 :デフォルトの名無しさん:2018/05/13(日) 10:55:56.66 ID:wyHt0Mjp.net
>>862
(つづき)
少し条件を変えて、調査表(1.4万) x 駆動表(1万)で試しました。

[線形探索]
 ・Match線形探索/調査票(Range) ... 22.9 Sec
 ・Match線形探索/調査票(Array) ... 79.12 Sec

[For入れ子]
・調査票、駆動表ともにArrayなげこみ ... 53.10 Sec
  For2重Loop。発見時、Exit Forで次へ。

[二分探索](調査票はSort済)
 ・Match二分探索/調査票(Range) ... 0.42 Sec
 ・Match二分探索/調査票(Array) ... 117.24 Sec
(つづく)

864 :デフォルトの名無しさん:2018/05/13(日) 10:56:21.29 ID:wyHt0Mjp.net
>>862
(つづき)
結果、RangeObjectへのMatch二分探索が最強でした。
Arrayに乗せると、どんどん結果が悪くなるのが意味不明ですが、、
Match部分に時間がかかっているのは明らかでしたが、これを二分探索にすることで
1万回のMatchが 0.4 Secで終わるというのはすさまじいですね。

最終的に、検索キーの供給とマッチング、そのあとのSQL処理まで含めて
約100 Secかかっていたのが、0.8 Secで差分処理出来るようになりました。
みなさん、アドバイスいただきありがとうございました。

865 :デフォルトの名無しさん:2018/05/13(日) 11:03:24.93 ID:i7PAGBqe.net
>>861
なにも言い返せなかったからなぁ
悔しいねぇ

866 :デフォルトの名無しさん:2018/05/13(日) 13:26:19.68 ID:LATlOC/3.net
>>864
二分探索なのにArrayでもMatch使ってるのがよくわからない。
文字列としての単純比較じゃダメなのか?

867 :デフォルトの名無しさん:2018/05/13(日) 15:10:20.32 ID:uLIKOFiX.net
>>864
たった一万件だろ
それなら誤差
8080の時代じゃねーよ

868 :デフォルトの名無しさん:2018/05/13(日) 15:44:53.98 ID:wyHt0Mjp.net
>>867
22 Sec と 0.4 Secを誤差と? すごい感覚の持ち主ですね。

869 :デフォルトの名無しさん:2018/05/13(日) 15:48:29.20 ID:wyHt0Mjp.net
>>866
両テーブルをArrayに乗せてForで回して単純比較したのですが、50 Secほどかかってしまったのです。
Matchを使わない場合、どう記述すればよいかわからず。
ヒントをいただけますか? もっと効率がよい方法があれば試してみたいです。

870 :デフォルトの名無しさん:2018/05/13(日) 16:14:11.00 ID:+vKBH4Jv.net
こんな程度のどうでもよい事の効率を上げるより仕事全体の効率を上げる努力をしなさいって社長が言ってたよ

871 :デフォルトの名無しさん:2018/05/13(日) 16:20:34.22 ID:uLIKOFiX.net
>>868
お前のプログラムがおかしいだけだろ

872 :デフォルトの名無しさん:2018/05/13(日) 17:40:36.23 ID:+vKBH4Jv.net
50secとか
どれだけ大規模システムを作られてるの?
もしかしてヤフーとかアマゾンとかのSE担当者さんですか?

873 :デフォルトの名無しさん:2018/05/13(日) 17:45:12.77 ID:sMzgfoge.net
高速化の問題は細かい情報がないと話にならんよ
テスト用データと自分が書いたコードぐらいはGithubにあげてから質問してくれ
もちろんエクセルファイルの直接交換はセキュリティなど面倒事が多いからテキストファイルでな

874 :デフォルトの名無しさん:2018/05/13(日) 18:11:36.74 ID:wyHt0Mjp.net
>>873
元質問は>>771,>774,
条件は >>862, >>863, に書いたとおりで
80 Sec かかったのは >>790 のコードです。

二分検索で 0.4 Secに短縮できたのは以下のコードです。関数にしました。
Function isReg(STR As String, RNG As Range) As Boolean
 Dim IDX As Long
 isReg = False
 With Application
  IDX = .IfError( .Match(STR, RNG, 1), 0 )
  If IDX = 0 Then
   ' do nothing
  ElseIf STR = .Index(RNG, IDX, 1) Then
   isReg = True
  Else
   ' do nothing
  End If
 End With
End Function

50 Sec かかった単純比較はこんな感じのForの入れ子です。
For i = LBound(arrDrvList) To UBound(arrDrvList)
For k = LBound(arrFdList) To UBound(arrFdList)
If arrDrvList(i, 1) = arrFdList(k, 1) Then
(処理)
Exit For
End If
Next
Next
どんな手法がよいか教えてください。Matchにこだわるつもりはありません。

875 :デフォルトの名無しさん:2018/05/13(日) 18:16:05.72 ID:wyHt0Mjp.net
>>873
あ、テストデータですね。
=TEXT(RANDBETWEEN(1,1000000),REPT("0",7))&"-"&TEXT(RANDBETWEEN(1,2),"000")
で生成できます。
駆動側が1万行、調査側が1.4万行で生成できます。

876 :デフォルトの名無しさん:2018/05/13(日) 18:18:17.66 ID:LATlOC/3.net
>>874
それのどこが二分探索なのか俺にはよくわからない。
とりあえず自分のプログラムでArray上のデータをバイナリサーチすると、
調査表、 駆動表ともに1.4万件でやって 1.9Sec だった。(Core i5)

877 :デフォルトの名無しさん:2018/05/13(日) 18:19:47.21 ID:wyHt0Mjp.net
>>875
日本語おかしいな。
駆動側が1万行、調査側が1.4万行。駆動側の表から1万回Matchをかけました。
調査側の表はSort済みですが、これをArrayに投げ込んで行うとなぜが遅くなります。

878 :デフォルトの名無しさん:2018/05/13(日) 18:22:03.91 ID:wyHt0Mjp.net
>>876
Matchの第3引数を0以外にするとバイナリサーチになるんだそうです。

その1.9Secの結果をだせたコードの書き方が知りたいです。

879 :デフォルトの名無しさん:2018/05/13(日) 18:24:18.63 ID:sMzgfoge.net
>>874
動作する完全なコードを書いて
測定処理も含めたすべて

880 :デフォルトの名無しさん:2018/05/13(日) 18:40:41.94 ID:i7PAGBqe.net
>>874
それ線形探索

881 :デフォルトの名無しさん:2018/05/13(日) 18:53:06.33 ID:wyHt0Mjp.net
>>880
いや >>878に書いたとおりで、現にそれに見合う結果がでているのですが、、?

882 :デフォルトの名無しさん:2018/05/13(日) 19:03:59.96 ID:i7PAGBqe.net
>>881
ん?
さっきから50秒の方が遅いおかしいって騒いでるんじゃないの?

883 :デフォルトの名無しさん:2018/05/13(日) 19:13:05.46 .net
もう解決したんだから終了でよくね?
このまま続けてても無知な外野とかPS糞野郎がしゃしゃり出てくるだけ

884 :デフォルトの名無しさん:2018/05/13(日) 19:15:15.85 ID:wyHt0Mjp.net
>>879
駆動表、調査表(各1列)ともに >>875 の関数で生成したデータを配置。
調査表をarrFdListにすると 86 Sec, rngFdListにすると27 Sec となりました。
Sub TES_Proc()
 Dim ST As Single, ED As Single: ST = Timer
 Dim rngFdList As Range '調査表
 Dim arrFdList As Variant 'Array格納試験用
 Dim r As Range, iHit As Long, iCnt As Long
 Set rngFdList = Range( _
      Range("R_Fd"), _
      Range("R_Fd").Offset(100000, 0).End(xlUp) _
     )
 arrFdList = rngFdList
 For Each r In Range("R_Drv").CurrentRegion '駆動表
  With Application
   iHit = .IfError( .Match(r.Value, arrFdList, 0), 0)
  End With
  If iHit > 0 Then iCnt = iCnt + 1
 Next
 Debug.Print iCnt & " Matched"
 ED = Timer
 Debug.Print "Waste: " & ED - ST & " sec"
End Sub
(つづく)

885 :デフォルトの名無しさん:2018/05/13(日) 19:15:40.65 ID:wyHt0Mjp.net
>>879
(つづき)
こちらは0.4Secで回答がえられるようになったコードです。>>874の関数を使用します。
ただ、駆動表をArrayに変えると100Sec以上かかります。(関数の引数型変更が必要)

Sub TES_Proc2()
 Dim ST As Single, ED As Single: ST = Timer
 Dim rngFdList As Range '調査表
 Dim arrFdList As Variant 'Array格納試験用
 Dim r As Range, IDX As Long, iCnt As Long
 Set rngFdList = Range( _
      Range("R_Fd"), _
      Range("R_Fd").Offset(100000, 0).End(xlUp) _
     )
 arrFdList = rngFdList
 For Each r In Range("R_Drv").CurrentRegion '駆動表
  If isReg(r.Value, rngFdList) Then
  iCnt = iCnt + 1
  End If
 Next
 Debug.Print iCnt & " Matched"
 ED = Timer
 Debug.Print "Waste: " & ED - ST & " sec"
End Sub

886 :デフォルトの名無しさん:2018/05/13(日) 19:20:14.73 ID:wyHt0Mjp.net
>>882
いや、Matchを使うのがおかしいと言われているので、
もっと一般的な方法を知りたくて。

50秒のほうは確かに線形探索ですね。
上のほうでシートにアクセスしているから遅いと言われて
2つの表ともArrayに乗せて比較のために実行したものです。

887 :デフォルトの名無しさん:2018/05/13(日) 19:22:13.03 ID:wyHt0Mjp.net
>>883
そうですね。あとは自分で調べてみます。
お騒がせしました。

888 :デフォルトの名無しさん:2018/05/14(月) 06:52:21.09 ID:mBgrQGTw.net
>>865
うわ気持ち悪い
まだ監視してるw

889 :デフォルトの名無しさん:2018/05/14(月) 07:11:10.06 ID:n+3GdDup.net
朝から粘着してる奴が何を言ってるんだかw

890 :デフォルトの名無しさん:2018/05/14(月) 13:57:44.01 ID:lGg9ccsb.net
ニヤニヤ

891 :デフォルトの名無しさん:2018/05/14(月) 17:46:18.99 ID:wio42IgJ.net
キモっ

892 :デフォルトの名無しさん:2018/05/14(月) 22:09:45.23 ID:nBdlD1Xi.net
エクセルでメールを送る際にCDOを使用していたのですが
メールサーバーの仕様が変わって
ポート587のTLS/STARTTLSが必要になりました
調べてみるとCDOはTLS/STARTTLS非対応のようです

TLS/STARTTLSに対応できるエクセルでメールを送る
お勧めの方法を教えてください

よろしくお願いします

893 :デフォルトの名無しさん:2018/05/15(火) 07:03:51.94 ID:f6zNW2OD.net
>>892
basp21がいけるかなと思ったけど、無料版は非対応みたいですね。
SMailで対応されている方を見かけました。
他に何かあるかな?

894 :デフォルトの名無しさん:2018/05/15(火) 07:57:52.48 ID:KTrZAEG+.net
=と:=の違いが分からんちん

895 :デフォルトの名無しさん:2018/05/15(火) 10:03:02.81 ID:MncegZ0n.net
>>894
http://officetanaka.net/excel/vba/beginner/02.htm

ググればすぐ出てくるのに…

896 :デフォルトの名無しさん:2018/05/15(火) 12:22:16.58 ID:iR34l3ga.net
代入と比較を両方=にしたせいで名前付き引数へ渡してるのか比較してるのかわからないから苦肉の策で:=を使う
VBAの言語設計のセンスのなさの表れ

897 :デフォルトの名無しさん:2018/05/15(火) 12:36:20.46 ID:2i/hB9LU.net
古い言語だからセンスが無いのはしょうがない
ただずっと伝統を守って生産性をあげようとしてこなかった点は残念だね
Microsoftに見捨てられた言語

898 :デフォルトの名無しさん:2018/05/15(火) 15:50:11.49 ID:1B3peCUp.net
>>892
.NET言語呼べば変なライブラリ使わずに済むよ
このスレでよく連呼されてたやつね笑

899 :デフォルトの名無しさん:2018/05/16(水) 17:15:29.34 ID:ZACk88wL.net
会社でPC upgradeのあと
キーボード配置がおかしくなってコード書く効率が格段に劣化した。
例えば@を打つためにSHIFTと2だし、(や)を打つのは場所が1つずれる、などなど。
プログラミングではコードの書き方など意識を集中すべきところはたくさんあるのに
こんなキーボードの配列のようなくだらんことに意識しないといけないので仕事効率が格段に下がって困っています。

なにか対策ありますか?
会社のIT部は対策考えてると言ってますが待てません。

900 :デフォルトの名無しさん:2018/05/16(水) 17:38:45.07 ID:VNV3eEvV.net
入力をフックして正しいキーに変換するVBAマクロを書くというのはどうでしょうか?

901 :デフォルトの名無しさん:2018/05/16(水) 17:57:14.07 ID:W6OUX3sP.net
>>899
Windows 10で異なる言語のキーボード配列に誤認識される場合の対処方法
http://www.atmarkit.co.jp/ait/articles/1707/21/news021.html

902 :デフォルトの名無しさん:2018/05/17(木) 01:22:57.26 ID:WaQcQyxN.net
お仕事でvba使ってるけど自分がどれくらい出来るのか全然分からん
工数とか見積もりとか出したらなんか分かるんかなーて思って調べても良くわからんしステップ数?はクソコード程行数多くなるし…なんか良い方法ないかな
このままじゃモチベが続かん

903 :デフォルトの名無しさん:2018/05/17(木) 06:33:07.87 ID:ijkzMibD.net
オモチャは卒業して他の言語使えば?

904 :デフォルトの名無しさん:2018/05/17(木) 07:58:02.31 ID:t5nn8U/f.net
MSの資格なかったっけ
とりあえずそれの練習問題みたいなの見てみるとか

905 :デフォルトの名無しさん:2018/05/17(木) 09:13:30.19 ID:OEcGKIjw.net
VBA程度でPC作業の効率上げた気になってるけどもっと仕事全体の効率を上げる努力しような
VBAなんてそんな細かい事は後回しでいいからさ
本当は家でサッサとやって来て欲しいくらいだけどね

906 :デフォルトの名無しさん:2018/05/17(木) 10:13:39.78 ID:0CVDk2cO.net
>>902
なにかテクニックを持ってるなら記事書いて公開してレスポンスを待てばいい
レスなくてもアウトプットするだけでためになるし

907 :デフォルトの名無しさん:2018/05/17(木) 11:47:08.89 ID:0CVDk2cO.net
仕事の効率が悪いのは不合理を上から押し付けられている例が多い。
「上」の典型例が役所だ。
あとITの観点からは全く無能と言っていい経営が合理化の阻害要因になっている会社もまれにある。
そういう会社は競争に負けて速やかになくなっていくからいいけどね。

908 :デフォルトの名無しさん:2018/05/17(木) 12:05:52.20 ID:khB37Je6.net
そうそう
薄汚いクソフォーマットのエクセルファイルや
メンテナンス性を完全に放棄したとしか思えないクソVBAコードとかね
押し付けられた方は無駄な作業を強いられてたまったもんじゃない

909 :デフォルトの名無しさん:2018/05/17(木) 12:10:09.02 ID:0CVDk2cO.net
経営者は会社と従業員のために戦ってほしい。戦いに負け続けるようではダメな経営者だ。
喧嘩する相手は役所ね。頑張って。

910 :デフォルトの名無しさん:2018/05/17(木) 12:19:54.47 ID:HOl2IMkD.net
ちょっと質問失礼
自PCにあるブックをコピーしてサーバーに新規ブックを作るとファイルのタイムスタンプの日時がよくわからない日時になってるんだけど、何の原因が考えられそうですか?

911 :デフォルトの名無しさん:2018/05/17(木) 12:24:50.78 ID:x/H/6cVB.net
一緒に戦えよw 傍観してるだけじゃ何事も手には入らんわ
何もいらない奴だけが傍観してろよ

多くを手にしている経営者がなんで自らリスキーな戦い挑むと思うんだ 欧米じゃあるまいし

912 :デフォルトの名無しさん:2018/05/17(木) 12:32:34.08 ID:x/H/6cVB.net
サーバに新規ブックを作る ってトコが書き間違いだと思うが コピーや移動やアップロードだとして
そのサーバは目の前にあるのかクラウドとかで見知らぬ国なのかでも変わってくる
ファイルのタイムスタンプも 作成時、更新時、アクセス時などなど様々

913 :デフォルトの名無しさん:2018/05/17(木) 13:16:33.83 ID:oeUhwWkR.net
VBAしか使わせてくれない会社に合理化とかアホか?
きちんと合理化してる所は今時エクセルなんか最低限しか使わんだろ

914 :デフォルトの名無しさん:2018/05/17(木) 14:07:27.73 ID:dB6H+z10.net
‘配列1(セル範囲から配列にする場合)
Dim Arr as String
Arr = Range(“A1:A3”)
‘取り出し方
For each i in Arr
Debug.print i
Next

‘配列2(普通の配列)
Dim Arr(3) as String
‘取り出し方
For each i in Arr()
Debug.print i
Next

【質問1】この「括弧無し配列(配列1)」と「括弧付き配列(配列2)」の違いを教えていただけないでしょうか

配列1と配列2で取り出し方が違います。
つまり同じ物として運用するとエラーになってしまいます。

例えば通常の括弧付き配列は
Returnnum = Arr
として戻り値として配列を返せますが、括弧無し配列はできません

【質問2】
「括弧無し配列(配列1)」を「括弧付き配列(配列2)」に変換する一番スマートな記述を教えていただきたいです。現状動的配列にループで収納しています

以上、ご教授願います。よろしくお願いいたします。

915 :デフォルトの名無しさん:2018/05/17(木) 14:20:43.91 ID:dB6H+z10.net
すみません、配列1はVariant型じゃないと駄目でした。。
正しくは以下です

‘配列1(セル範囲から配列にする場合)
Dim Arr as Variant
Arr = Range(“A1:A3”)
‘取り出し方
For each i in Arr
Debug.print i
Next

916 :デフォルトの名無しさん:2018/05/17(木) 14:23:23.12 ID:0CVDk2cO.net
>>914
> Dim Arr as String
> Arr = Range(“A1:A3”)

この As String は As Variant の間違いかな?
それと、括弧無し配列もVariant 戻り値として返せるよ。
括弧付き配列はSAFEARRAY構造体というもので、括弧無し(Variant変数)はそれを値として内部に抱えている。

917 :デフォルトの名無しさん:2018/05/17(木) 14:23:48.83 ID:0CVDk2cO.net
おっとかぶった

918 :デフォルトの名無しさん:2018/05/17(木) 17:43:16.02 .net
>>914
質問2は一発ではできないとおも

てか、Variant型のほうで統一すりゃいいじゃん

なんでだめなの?

919 :デフォルトの名無しさん:2018/05/17(木) 20:41:16.86 ID:oSMlM+BJ.net
質問です

入力した文字列の時刻の値を比較して結果を出したいのですがどうすればいいでしょうか?
例えば↓のようなことがやりたいです
このままだと何を入力しても12時前になって困っています

Function Calc(val As String) As String
 If val < Time(12. 0. 0)
  Calc = "12時前"
 Else
  Calc = "12時以降"
 End If
End Function

よろしくお願いします

920 :デフォルトの名無しさん:2018/05/17(木) 20:44:04.78 ID:bbBVanOj.net
ggrks

921 :デフォルトの名無しさん:2018/05/17(木) 20:59:43.69 ID:gqrxfWnu.net
>>919
TimeVale("12:00") じゃね

922 :デフォルトの名無しさん:2018/05/17(木) 21:00:24.39 ID:gqrxfWnu.net
uが抜けたTimeValue

923 :919:2018/05/17(木) 21:12:45.95 ID:oSMlM+BJ.net
>>921
有難う御座います
TimeをTimeValueにして試してみます

924 :デフォルトの名無しさん:2018/05/17(木) 21:33:16.08 ID:dB6H+z10.net
>>916
なるほど、ありがとうございます!

925 :デフォルトの名無しさん:2018/05/17(木) 22:01:20.21 ID:IpPWHNGq.net
>>904
あれはもう持ってるんだ
派遣先で永遠と飛んでくる指示に従うだけって思ってたよりもつまらん

926 :デフォルトの名無しさん:2018/05/17(木) 22:36:14.28 .net
>>925
そりゃあ指示にただ従ってるだけではな

仕事は自分で作り出すものやで

927 :デフォルトの名無しさん:2018/05/17(木) 22:45:20.21 ID:sCU3vhEI.net
>>925
なにかアウトプットしなよ
さあ!

928 :デフォルトの名無しさん:2018/05/17(木) 23:27:34.82 ID:4AFnEgr6.net
組織に所属しているという意識がないんなら当然「仕事は自分で作り出す」なんて意欲も湧かんわw

929 :デフォルトの名無しさん:2018/05/18(金) 00:14:21.21 ID:yPq2oynG.net
フリーランスこそ顧客開拓に余念がないと思うけどね

930 :デフォルトの名無しさん:2018/05/18(金) 00:18:40.56 ID:r8kEwRA6.net
勝手に仕事を作るバカのせいでまたメンテナンスコストの高いマクロがばら撒かれる
無能な働き者さんはほんと迷惑です

931 :デフォルトの名無しさん:2018/05/18(金) 06:19:19.39 ID:KwQS73gf.net
>>925
(誤)永遠と
(正)延々と

わざとならすまん

932 :デフォルトの名無しさん:2018/05/18(金) 08:02:30.01 ID:7QaC26lU.net
オブジェクトをコピーした状態を解除するにはどのようにかけばよいでしょう?

Application.cutcopymode=false では消えないので、適当なセルを一度コピーし上記でコピー解除しています。

一発で解除する方法ありますか?

933 :デフォルトの名無しさん:2018/05/18(金) 08:25:19.97 ID:MbRZo+Sm.net
>>932
APIのEmptyClipbordはどう?

934 :デフォルトの名無しさん:2018/05/18(金) 08:49:40.64 ID:FW7A0AUH.net
検索したらクリップボードをクリアするサンプルコードがでてくるはずだけど、api呼び出す必要があったり結構面倒だった記憶がある

935 :デフォルトの名無しさん:2018/05/18(金) 11:50:53.11 .net
C#とかでクリップボードをクリアする実行ファイルを作って呼び出すのが最適解

936 :デフォルトの名無しさん:2018/05/18(金) 12:35:02.93 ID:sZ7vKXi2.net
>>932
CreateObject("Forms.TextBox.1") して空文字をコピーすりゃいいじゃん、と思ったけど空文字だとできないな。
任意の一文字コピーではだめ?

937 :デフォルトの名無しさん:2018/05/18(金) 16:53:52.74 ID:YkQZGzcp.net
Dim xls As New Excel.Application
Set Book = xls.Workbooks.Open(省略)

時短のためにこのように作業対象のオブジェクトを取得すると

Book.activate

が効きません。(常にthisworkbookがアクティブになります)

何故でしょうか?対策はございますか?

938 :デフォルトの名無しさん:2018/05/18(金) 21:35:52.88 ID:2ynLe5yA.net
>>937
あんまり詳しくないけど新しいエクセルを作成する必要あるの?

dim book as workbook

にして

setのところのxls.を削るのはダメなの?

939 :932:2018/05/18(金) 23:06:26.97 ID:9DWAd5ft.net
>>933
上手くいきました。

>>936
ありがとう

940 :デフォルトの名無しさん:2018/05/19(土) 17:47:09.08 ID:49sGoKqd.net
>>938
それだと普通に開くだけなので大量のエクセルファイルを操作するときに時間がかかるのです

941 :デフォルトの名無しさん:2018/05/19(土) 19:42:27.74 ID:xS6sQzEj.net
新規にEXCELプロセス作った方が速いって言ってる?

942 :デフォルトの名無しさん:2018/05/19(土) 20:39:09.13 ID:RoboUWmL.net
>>940
時間がかからんとactivateしても人間にはなんの事やらわけがわからんよ
キミはなんや矛盾した問題をかかえとるね

943 :デフォルトの名無しさん:2018/05/19(土) 20:49:03.18 ID:m/ZPa8pN.net
大量のファイルを処理するならプロセス作って並列処理した方が速いだろうね

944 :デフォルトの名無しさん:2018/05/19(土) 21:18:06.38 ID:TP6Y2mwH.net
質問です。
windowsAPIからキーボードイベントを発生させたいのですが、ノートパソコンにあるFNキーの定数をご存知の方いらっしゃいませんか。
よろしくお願いします。

>>937
開いているブックのみがアクティブの対象かと。

945 :デフォルトの名無しさん:2018/05/19(土) 23:13:31.81 ID:8jjSxBIu.net
何故アクティブにする必要があるんかね?
アクティブにしないで済むようには組めんのか?

基本的にアクティブにする処理を書く奴はスキルが低いと思うんだ。
もっとも、どうにもアクティブにしないとできないことも稀にはあるけどね。

946 :デフォルトの名無しさん:2018/05/19(土) 23:41:59.44 ID:xS6sQzEj.net
>>944
残念ながらFnキー単体にコードはない
Fn+キーが押されて初めてデバイスからコードが流れる仕組み
つまりFn単体が押されたかはOSからは判らない
メーカーによっては違う仕組みかもしれないけど

947 :デフォルトの名無しさん:2018/05/20(日) 00:04:10.54 ID:diJ6AI92.net
>>945
最後にアクティブにして終わるとか

948 :デフォルトの名無しさん:2018/05/20(日) 00:23:38.59 ID:/YSK7TcC.net
明示的にアクティブにすることはある。
ユーザーにこのシート、このセルですよと示す為に。

でもそういう場合以外でアクティブにすることはまずめったに無い。
で、Excel.Application使う場合はそういう場合ですら無い。

2013だったかのExcelの仕様変更でアクティブにしないとエラーとなる不具合が有った気がするが回避できる組み方も有るような気もする。

949 :デフォルトの名無しさん:2018/05/20(日) 14:25:06.75 ID:laQiZndq.net
>>946
ありがとうございます。
>メーカーによっては違う仕組みかもしれないけど
再び希望を持ってかなり調べてみましたが、やはり仰る通りありませんでした。
別の方法を探すことにします。

950 :デフォルトの名無しさん:2018/05/20(日) 22:34:18.97 ID:p/tqpQJx.net
スレ違うかもしれないけど教えてください。
この問題答えがイ.なんだが最後に+1を付ける意味がわからないんです…
付けなきゃいけないの?https://i.imgur.com/EH5gABg.jpg

951 :デフォルトの名無しさん:2018/05/20(日) 22:49:16.49 ID:diJ6AI92.net
表のつくりがクソだという以外に感情がなくなってきて答えられない

952 :デフォルトの名無しさん:2018/05/20(日) 22:55:58.27 ID:9fk8EC6V.net
表示とデータを分離しない
データを正規化しない
vbaerあるある
やんなっちゃうよね

953 :デフォルトの名無しさん:2018/05/20(日) 23:02:31.52 .net
>>950
開始時間を表示したいんなら+1不要だと思うよ
問題文はそうじゃないね

954 :デフォルトの名無しさん:2018/05/20(日) 23:06:27.60 ID:cqMXJ5R7.net
何のテキストか知らないけど下に見えてる問題も含めて地雷くさいなぁ
関数複雑にする前にできることあるだろうに…

955 :デフォルトの名無しさん:2018/05/20(日) 23:10:46.38 ID:9fk8EC6V.net
ふと思ったのだがもしかしてプログラミング必修って
純粋な子供たちにこういうのが正しいプログラミングですって教え込むのかな
こわいなぁ

956 :デフォルトの名無しさん:2018/05/20(日) 23:27:00.68 ID:QTSjBTOo.net
なにがこわいんだよ
VBAみたいなしょーもないことやるわけちゃうやろ

957 :デフォルトの名無しさん:2018/05/20(日) 23:43:30.11 ID:9fk8EC6V.net
中途半端な知識に毒された新人やお客様は厄介だぞ
新人は研修で厳しく指導して矯正すればまだなんとかなるが、お客様が相手だと立場上そうもいかん
恥をかかせないように間違いを指摘するのって難しいんだよ

958 :デフォルトの名無しさん:2018/05/21(月) 00:22:57.97 ID:AialzjYr.net
>>950
空白はINDEX関数の何行目かを指定するのにMATCH関数を用いていて、A3に一致した行+1することにより活動場所の行にずらしています。
もう一つのMATCH関数によりA4に一致した列を指定していることで、D4に正しく表示されるようになります。
それぞれを数字に直すとより分かりやすいかもしれません。

959 :デフォルトの名無しさん:2018/05/21(月) 09:43:31.74 ID:qzDF6qMH.net
ttp://mevius.5ch.net/test/read.cgi/bsoft/1523701626/411

960 :デフォルトの名無しさん:2018/05/22(火) 14:28:26.02 ID:3Jq2kRkc.net
StrConv関数のシステム規定のコードって、WindowsならShift-JISでいいんですか?
もしそうなら、それが明示的にわかる記述ってヘルプなどに乗ってますか?

961 :デフォルトの名無しさん:2018/05/22(火) 21:08:53.68 ID:3Jq2kRkc.net
システム規定?
何か勘違いじゃない?

StrConv関係なくダブルクォーテーションで括った文字はShift-JIS扱いだと思うが。

962 :デフォルトの名無しさん:2018/05/22(火) 21:40:29.05 ID:kE6hiwfa.net
>>960
> StrConv関数のシステム規定のコードって、WindowsならShift-JISでいいんですか?
それを質問してるレベルならShift-JISだと思っておけばいい

> もしそうなら、それが明示的にわかる記述ってヘルプなどに乗ってますか?
世の中には英語版Windowsとかもあるから規定のコードはShift-JISとは限らない

963 :デフォルトの名無しさん:2018/05/22(火) 22:33:03.25 ID:SyE6l3ot.net
ファイルが閉じられようとしている時、何がそのファイルを閉じようとしているか取得することはできますか?
MenuなのかCloseBoxなのかShortCutKeyなのかプログラム的なものなのか。
Application.Callerで行けるかなと思ったのですが、無理でした。

964 :デフォルトの名無しさん:2018/05/23(水) 01:18:41.80 ID:B5houSvi.net
>>963
API使ってイベントを監視すれば可能だけどVBAの範疇を超えすぎてる

965 :デフォルトの名無しさん:2018/05/23(水) 19:08:52.58 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

8JKSW

966 :デフォルトの名無しさん:2018/05/23(水) 19:56:12.66 ID:vD+SDGTk.net
>>964
やっぱり無理ですね。あきらめます。

967 :デフォルトの名無しさん:2018/05/24(木) 11:04:28.36 ID:cPlRxlDn.net
.

968 :デフォルトの名無しさん:2018/05/24(木) 18:44:34.86 ID:rwhzkSgn.net
webスクレイピングて難しく思えたんだけどコレはvba以外でやると多少楽なのかな?
静的ページならすぐ出来たけど動的インフレームアリだとsetが失敗して、しないようしないようと作ってたらかなり時間かかるようになってしまった

969 :デフォルトの名無しさん:2018/05/24(木) 18:54:57.85 ID:YoLj0XgE.net
>>968
そんな事を何故にエクセルでやるの?
WinアプリとかWebアプリを作るとかした方が良いのでは?

970 :デフォルトの名無しさん:2018/05/24(木) 19:45:07.20 ID:5xDY1fy1.net
スクレイピングにVBAを使う人がいても良い
それが自由というものだ

971 :デフォルトの名無しさん:2018/05/24(木) 22:30:16.88 .net
WinSockでWebサーバ作るの難しく思えたんだけどVBA以外でやると多少楽なのかな?

972 :デフォルトの名無しさん:2018/05/25(金) 00:53:50.40 ID:gd/oxjVv.net
スクレイピングは、Ruby で、Mechanize, Selenium WebDriver

CSS セレクターのNokogiri は、jQuery と同じ

973 :デフォルトの名無しさん:2018/05/25(金) 07:04:39.19 ID:zc32YTBq.net
>>969
それは俺がvba以外業務経験の無い似非プログラマーみたいな人材で社内向けの便利ツール開発屋さんだからだ
あとはexcelでログ蓄積してたりグラフ作ったりWordで資料作るって言うからボタン一個でスクレイピングから資料作成まで出来たら楽なんかなーそしたらvbaで良いかなーって

974 :デフォルトの名無しさん:2018/05/25(金) 11:14:35.42 ID:9B51GdsS.net
>>973
それは俺も知りたい
htmlをテキストとして持ってきて表の部分を再構成したり、hrefタグにあるファイルをダウンロードしたりはやってるけど、
それ以上のことが出来ない。
まずはWebプログラミングの基礎をちゃんとやんなきゃとは思ってはいるけどね。

975 :デフォルトの名無しさん:2018/05/25(金) 20:12:32.29 ID:Ojg1fzQl.net
簡単だよ


インスペクターを使ってブラウザとサーバーの通信内容を分析する

分析結果を応用して目的のサイトを巡回して、生のコンテンツを収集するクローリングプログラムを作る

収集したコンテンツから装飾などを取り除き、必要なデータ部分のみを抽出するスクレイピングプログラムを作る

抽出したデータを加工しRDBやドキュメントストアに保存して、データを再利用しやすくするインデクシングプログラムを作る

クローリング、スクレイピング、インデクシングの実行をスケジューリングするプログラムを作ってサービスに登録する

検索、統計計算、レポート作成など、インデクシングしたデータを活用するプログラムを作って、自分で使ったり、社内に配布したりする

対象のサイトの仕様変更やクローリング拒否の兆候を監視して、動きがあれば迅速に対応する


こういう基本的な部分は言語は関係ない

976 :デフォルトの名無しさん:2018/05/25(金) 20:23:09.11 ID:9B51GdsS.net
>>975
なるほどそれなら簡単そうだ

977 :デフォルトの名無しさん:2018/05/25(金) 23:42:45.49 ID:TmYzghqT.net
典型的なSE()って感じの長文だな

978 :デフォルトの名無しさん:2018/05/25(金) 23:46:43.22 ID:zc32YTBq.net
無駄が多すぎる
それに元の質問はvbaでも出来たけど他言語はもっと簡単なの?だろ
どの言語も出来るってのは質問者も分かってそうだけど何が伝えたいんだ

979 :デフォルトの名無しさん:2018/05/26(土) 02:10:52.58 ID:Ng9dFM+q.net
使わなくても良いカタカナ語を連発するあたりに無能さを感じる

980 :デフォルトの名無しさん:2018/05/26(土) 07:58:39.19 ID:GTC6EJC/.net
まさに事務員VBAerって感じの反応

981 :デフォルトの名無しさん:2018/05/26(土) 08:00:27.40 ID:+tRt/bon.net
プロさんが事務員相手に無双したがるのてどうゆう心理なん?

982 :デフォルトの名無しさん:2018/05/26(土) 08:11:20.27 ID:GTC6EJC/.net
事務員さん相手だと当たり前の基本を述べただけで無双になってしまう

983 :デフォルトの名無しさん:2018/05/26(土) 10:05:07.34 ID:kxVTkJPa.net
うんうん。プロの選手が草野球にアドバイスしてるのと同じだよね。

984 :デフォルトの名無しさん:2018/05/26(土) 10:14:25.65 ID:1UG7ypzs.net
アドバイスっていうのも違うかなぁ
ペダルを漕いだら自転車が前に進みますって当たり前のことを呟いた感じが近いかな

985 :デフォルトの名無しさん:2018/05/26(土) 11:11:09.30 ID:kxVTkJPa.net
呼ばれもしないのに?

986 :デフォルトの名無しさん:2018/05/26(土) 11:15:32.71 ID:1UG7ypzs.net
それが5chだろ?

987 :デフォルトの名無しさん:2018/05/26(土) 11:53:50.96 ID:WModqHdi.net
>>985
プロと言っても実際は開発部隊から外されて運用監視ぐらいしかしてない人たちだろうね。
メイン作業はキッティング程度だろw

988 :デフォルトの名無しさん:2018/05/26(土) 12:52:50.49 ID:4GSWnb7z.net
親切ならWebアプリやWinアプリを進めておしまいだろ
そんなんサンプルがいくらでもある古典的な事をVBAでやる意味が分からん
簡単な事をわざわざ難しくするバカって多いよね

989 :デフォルトの名無しさん:2018/05/26(土) 12:55:19.02 ID:+tRt/bon.net
>>982
事務員かて当たり前の基本ぐらいしっとるわw
そんなんで無双しとるつもりやったんかw

990 :デフォルトの名無しさん:2018/05/26(土) 14:19:19.43 ID:1UG7ypzs.net
>>989
基本的なことを呟いただけのつもりで無双した覚えはないんだが
それを無双してるって言う人がいたというだけだな
VBAerさんって普通のプログラマと比べてちょっと感覚が個性的だから噛み合わないことが多いね

991 :デフォルトの名無しさん:2018/05/26(土) 15:08:09.49 ID:WModqHdi.net
普通の「プログラマ」は VBAスレなんて来ないよ。
使わないからね。
運用監視とかヘルプデスクとか呼ばれる職種の人だろ、エンジニアでこんなところ来るのはw

992 :デフォルトの名無しさん:2018/05/26(土) 15:43:48.81 ID:uEcv10bf.net
適材適所だからほかの言語と比較する意味はあまりないが
こういう言語で数万行に及ぶコード書く人って頭のなかどうなってるんだろう
記憶力が並外れてるのか、特殊な訓練でも受けていたのか。。。

で、それをコメントもマニュアルもなく投げられて炎上案件まっただ中
OOPからこの世界入った人にコード読みのこつ伝授してくだしぃ。。。

993 :デフォルトの名無しさん:2018/05/26(土) 15:48:47.48 ID:FDG0eSq2.net
自分の場合はとりあえず全部exportして1ファイルにしたな

994 :デフォルトの名無しさん:2018/05/26(土) 16:07:06.78 ID:uEcv10bf.net
>>993
わかってる人かw
モジュールっつーの?あれが30以上に分かれてて
しかも微妙に違うバージョンがいくつもあるから、exportのためのマクロ最初に書いたわ

995 :デフォルトの名無しさん:2018/05/26(土) 16:33:59.77 .net
exportしてバージョン管理するのは基本中の基本

996 :デフォルトの名無しさん:2018/05/26(土) 16:35:26.60 ID:xltAFcbA.net
>>992
OOPじゃないけど言語としてはVB6だから数万行程度は普通に組めるだろ

> で、それをコメントもマニュアルもなく投げられて炎上案件まっただ中
それはお前んところの問題で言語関係ないし

997 :デフォルトの名無しさん:2018/05/26(土) 16:37:56.47 ID:1UG7ypzs.net
>>991
プログラマでも来るよ
別に情報を拾いに来るわけじゃない
基本的には遊びに来てるだけ
時には事務員さんに答えられない脱初心者以上の質問に答えてあげてるけどもね

998 :デフォルトの名無しさん:2018/05/26(土) 16:41:14.63 ID:WModqHdi.net
>>997
「普通」のプログラマはそんなに暇なのか?
それとも普通じゃないのか?w

999 :デフォルトの名無しさん:2018/05/26(土) 17:02:45.85 ID:uEcv10bf.net
>>996
まじかーすげーなー

1000 :デフォルトの名無しさん:2018/05/26(土) 17:09:54.82 ID:xltAFcbA.net
>>999
組めると言うだけで、組む必要があるかどうかは別の話な
お前さんに理解できるかどうかは知らんけど w

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
305 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★