Excel VBA 質問スレ Part55at TECH
Excel VBA 質問スレ Part55 - 暇つぶし2ch200:デフォルトの名無しさん
18/08/04 21:56:58.85 ClJJf5ah.net
>>189
???
グローバル?
まじでいみわからんどういうことなんだ
VBA職人の思考パターンほんと異次元なんだけど

201:デフォルトの名無しさん
18/08/04 22:05:27.29 h4pZIq0i.net
>>187>>192
多少冗長でもエクセルがうまく動いて正しい結果が得られるなら問題ない
手作業で10分かかるものが10秒になればそれでいいって世界
最適化すれば0.1秒になるところでも10秒かけていいのだよ
その10秒を最適化する時間で、別の5分の仕事を3秒に短縮する方がよっぽど大事
>>193
Public g
Sub s()
Debug.Print f
Debug.Print g
End Sub
Function f()
'これが嫌なら
f = "return f"
'こう書けば
g = "return g"
End Function

202:デフォルトの名無しさん
18/08/04 22:07:10.27 h4pZIq0i.net
>>190
大体でいいならrand()で時間かけて総当たりして、最も偏差が少ない物で良いと思う

203:デフォルトの名無しさん
18/08/04 22:29:32.76 ZYatmaNb.net
>>189
>C言語のint main()もそのint 0はどこへ返すんだよって気になるし
OSになんじゃないのか?

204:デフォルトの名無しさん
18/08/04 22:42:04.41 qDTSwX/K.net
>>184
ソルバーアドインのエボリューショナリーエンジンで解決できそう
生徒のグループ分けをなるべく少ない変数で表すモデル作るのが難しそうだが
バイトのシフト表作ってみるみたいなサイトあった気がするから参考に
頑張れば数理的に最適解も求まりそう

205:デフォルトの名無しさん
18/08/04 22:43:45.76 h4pZIq0i.net
>>196
いやまぁそうなんだけど、理解が浅い時はそう感じてたよ

206:デフォルトの名無しさん
18/08/04 23:00:54.48 ClJJf5ah.net
>>194
なんでグローバルにしたの?

207:デフォルトの名無しさん
18/08/04 23:15:34.93 vm6Y2AFh.net
instr(join(だと部分一致で誤爆する

208:デフォルトの名無しさん
18/08/04 23:17:23.65 h4pZIq0i.net
>>199
>Functionの戻り値を関数名に代入する構文が最高に気持ち悪い
って言ってる人がいたので回避策を提示しただけ
勿論こんなコード俺は書かないよ

209:184
18/08/04 23:26:11.15 A9MJ7JgF.net
>>195
>>197
レスありがとうございます。
私がしようとしていたすべての組み合わせを試す方法だと、(仮に生徒48人を1グループあたり8人の6グループに分ける場合だと組み合わせの総数が4×10^30になってしまい、)かなり効率が


210:悪いということですね。 アドバイスしていただいたソルバーを用いた方法とrand関数を用いた方法の双方について調査し、検討してみようと思います。 また行き詰まったら質問させてください! その際はどうぞよろしくお願いいたします。



211:デフォルトの名無しさん
18/08/04 23:26:28.61 ClJJf5ah.net
>>201
いやぜんぜん回避策になってないじゃん
そもそも戻り値として返してないんだが
VBAコミュニティだとグローバル変数に入れると戻り値として返したことになるって風習でもあんの?

212:デフォルトの名無しさん
18/08/04 23:27:52.91 u3c/0jtm.net
ref使えばいいってなるわな

213:デフォルトの名無しさん
18/08/05 00:06:17.04 VayD9W7b.net
>>203
知るかボケ

214:デフォルトの名無しさん
18/08/05 00:32:29.81 iOJlEZ6A.net
>>202
ここは何のスレだかわかっているか?低脳

215:デフォルトの名無しさん
18/08/05 01:06:08.74 TorrOw0p.net
>>184
例えば、40人を、5グループ8人毎
min(最大平均点 - 最小平均点)
min(最大標準偏差 - 最小標準偏差)
こういう問題は、Ruby のアルゴリズムの問題だろ。
combination, permutation とか
こんな問題は、一筋縄ではいかない。
ものすごい組み合わせ爆発が起こるから、vba なら、何日も掛かる

216:デフォルトの名無しさん
18/08/05 01:14:27.29 jrr7Gub0.net
そんなん言語関係ないやん、アルゴリズムの問題だろ
Rubyの関数で短時間で解ける問題なら、VBAでも数倍ぐらいの時間で同じ結果は出せる

217:207
18/08/05 01:17:12.67 TorrOw0p.net
>48人を、1グループあたり8人の6グループ
グループA は、48*47*46*45* 44*43*42*41 / 8!
グループB は、40*39*38*37* 36*35*34*33 / 8!
...
グループF は、8! / 8! = 1
ここから、A~F のグループ名を変えるだけで、
同一になるものを省くから、6! で割る

218:207
18/08/05 01:22:35.24 TorrOw0p.net
48人分のデータを作って「プログラミングのお題スレ」にでも書き込んでみ。
誰か解けるか、計算時間が掛かりすぎて解けないか
こういうのはプログラミングコンテストの問題だから、
vba で解くような問題ではない!

219:デフォルトの名無しさん
18/08/05 01:28:53.98 88RY240q.net
だからソルバー使えって
数理計画法とか大学でやらなかったのか?

220:デフォルトの名無しさん
18/08/05 02:38:17.19 Gfvh6gaU.net
夏休みの宿題は自分でやれ

221:デフォルトの名無しさん
18/08/05 08:28:04.96 jOOhioBF.net
>>200
その通りだよね
それにJoinなんて例に出た短い配列にしか通用しないし

222:デフォルトの名無しさん
18/08/05 08:47:11.10 fib/Q9e8.net
>>203
戻り値を使わないという回避策なんじゃないの?
そもそも何が気持ち悪いのか分からない。
プログラミング経験無ければReturn 0よりVBAの方が感覚的にぴったり来るわ。
気持ち悪いという人はa=a+1を気持ち悪いと思う人?
関数名に代入する?
関数名じゃない。
関数そのものに代入してるというか、関数そのものを定義しているんでしょ。
俺は初めて見た時にすんなり頭に入ったね。

223:デフォルトの名無しさん
18/08/05 09:53:33.07 DQLB2G4w.net
何故関数名に代入するのが気持ち悪く感じるのかというと、後に述べるような危険性を無視しているからだと思う。
1.戻り値を関数名に代入しなければならない。
プロシャージャ中に何度も関数名が出てくるため、関数名を変更した時に変え忘れてエラーになることがある。
例えばhoge()全体をコピーして挙動の異なるhoge2を作ったとき、hoge2の中のhoge=***はコンパイルエラーにならないめ、テストするまでエラーを発見できない。
※コピペ直後に「完全に一一致」でプロシージャ内置換すれば良いのは分かっているが、そういう問題ではない。
対処法としては、関数の最初に


224:Dim Retしておき、文中ではRetに戻り値を代入、End Sub直前に関数名にRetを代入する。 2.戻り値を設定していないのにExit Subできてしまう。 せっかく1の対処法実施しても途中でExit Subされたら意味がない。 せめてExit Sub 戻り値 という書き方ができればよかったのだが。 対処法としてはExit Subを禁止して、そもそもExitが必要ない書き方に変えるかEnd Function直前までワープするGoToを使用する。 よって、関数を定義するときの推奨テンプレ Function hoge() As Variant Dim Ret As Variant '----- '処理 'Exit Subは禁止。GoTo ExitSubを使うこと '----- ExitSub: hoge = Ret End Function もちろん異論は認める。



225:デフォルトの名無しさん
18/08/05 09:56:54.93 d78e98dl.net
>>214
a=a+1
これのどこら辺が気持ち悪くなる部分なの?

226:デフォルトの名無しさん
18/08/05 10:15:24.82 C8NdcnMU.net
>>192
いやCとかでも
if(foo() == 0){
 return 1;
} else {
 return 0;
}
とか書くアホはいる

227:デフォルトの名無しさん
18/08/05 10:15:26.66 88RY240q.net
>>216
さてはまじめに数学やってなかったな?

228:デフォルトの名無しさん
18/08/05 10:19:10.37 C8NdcnMU.net
>>215
> 対処法としては、関数の最初にDim Retしておき、文中ではRetに戻り値を代入、End Sub直前に関数名にRetを代入する。
手間を増やしてバグの確率上げるとか最悪の対処法だな w
そもそも2.の対処ができるなら書き換える個所は1箇所になるからこんなアホな対処法は意味がない

229:デフォルトの名無しさん
18/08/05 10:20:36.92 C8NdcnMU.net
>>216
数学の等式としては成り立たん云々だろ
どうでもいいからスルーしとけ

230:デフォルトの名無しさん
18/08/05 10:27:17.45 88RY240q.net
決め事だからどうでもいいけど代入が=なのに名前付き引数に渡すときは:=なのが統一感なくて気持ち悪い

231:デフォルトの名無しさん
18/08/05 10:37:44.10 R+WsVzw5.net
If文とか
冗長になっても数年後に見ても簡単に分かるようにしとく事も大事だと思うけど

232:デフォルトの名無しさん
18/08/05 10:58:15.16 VayD9W7b.net
>>215
エラー処理がめんどくさくなりそう

233:デフォルトの名無しさん
18/08/05 11:02:08.70 lCYlyBjK.net
>>219
関数名は普通の変数と同等には扱えないからRetを使うのが必須な場面はある。
だから別に悪手ではない

234:デフォルトの名無しさん
18/08/05 11:10:34.73 vw7t6kWc.net
>>221
= だと式と区別がつかないから

235:デフォルトの名無しさん
18/08/05 11:12:01.18 vw7t6kWc.net
>>224
> 関数名は普通の変数と同等には扱えないからRetを使うのが必須な場面はある。
そういう場合はそうすればいいだけ
そういう前提がない場合にまでそうする奴は単なるバカ

236:デフォルトの名無しさん
18/08/05 11:18:09.78 DQLB2G4w.net
>>219
バグの確率が上がる状況ってどんな時?具体例を上げてくれ。
>そもそも2.の対処ができるなら書き換える個所は1箇所になるからこんなアホな対処法は意味がない
2の対処によって関数名に代入するのを1回にしてるんだが。どういう意味?
>>223
エラー対処を組み込んでも特に違和感ないと思うのだけど、どういう時?
Function hoge() As Variant
Dim Ret As Variant
'-----
On Error GoTo err1
Ret = 1 + "a"
If True Then GoTo ExitSub
'-----
GoTo ExitSub
err1:
Debug.Print Err.Number & Err.Description
Resume Next
ExitSub:
hoge = Ret
End Function
そもそもこの書き方って、自然と起こりうるものでコーディングルールとして定めるか臨機応変に使うかって話だと思うのだけどどうなん。

237:デフォルトの名無しさん
18/08/05 11:31:30.01 7RpOjRbA.net
変数宣言強制にしてれば関数名変えた時、戻り値返すための関数名も変更しないとエラーになるんじゃないの?

238:デフォルトの名無しさん
18/08/05 11:42:23.57 VayD9W7b.net
>>227
ごめん、なにか勘違いしてた
別にややこしくなかったね

239:デフォルトの名無しさん
18/08/05 12:01:55.81 jOOhioBF.net
>>226
Retを使うという方法について>>219
> 手間を増やしてバグの確率上げるとか最悪の対処法だな w
と言い出したことから出ている話だが、
「手間が増える」とか「バグの確率上げる」という主張自体に根拠が無いよね。
>>224に書いた理由によりRetを使う方法は皆


240:が習熟してるわけだから。 だからあんたの言う >そういう前提がない場合にまでそうする奴は単なるバカ も根拠薄弱。



241:デフォルトの名無しさん
18/08/05 12:06:39.32 DQLB2G4w.net
>>228
関数名変えるだけなら、コンパイルエラー出るから問題ないよ。
ただあまりたくさん使ってると次々とコンパイルエラー出てイラっとするだけで・・・。

242:デフォルトの名無しさん
18/08/05 12:11:44.20 C8NdcnMU.net
>>227
> バグの確率が上がる状況ってどんな時?具体例を上げてくれ。
記述量が増えればバグは増える、常識
> 2の対処によって関数名に代入するのを1回にしてるんだが。どういう意味?
だからそれなら1.の対処の意味がない
無駄なGoto増えるだけ
>>228の言うように関数名の変更忘れてたらOption Explicitでその関数に入る時にエラーになる

243:デフォルトの名無しさん
18/08/05 12:13:45.38 C8NdcnMU.net
>>230
>> そういう前提がない場合にまでそうする奴は単なるバカ
> も根拠薄弱。
必要もないのにコード量増やす奴はバカ
って書かないとわからんの? w

244:デフォルトの名無しさん
18/08/05 12:22:01.77 C8NdcnMU.net
> ※コピペ直後に「完全に一一致」でプロシージャ内置換すれば良いのは分かっているが、そういう問題ではない。
> ただあまりたくさん使ってると次々とコンパイルエラー出てイラっとするだけで・・・。
わかってるけどやりたくない
でもいらつくとかちょっと病院に行った方がいいレベル

245:デフォルトの名無しさん
18/08/05 12:32:44.13 jOOhioBF.net
>>233
最初の>>215の段階からRetが有効に使える場合のことしか書いてないよ
その前提を無視して>>219が変なこと言うから悪い
つまり>>219>>226>>233が悪い

246:デフォルトの名無しさん
18/08/05 12:39:05.42 DQLB2G4w.net
>>232
>記述量が増えればバグは増える、常識
そういう考え方もよく分かるよ。
だが途中で関数名代入を多様するのと、コーディングルールで途中でExitするというテンプレを定めるのとでは、バグの発生率は前者のほうが高いと自分は評価している。
実際この運用でうまく行ってるし意味がないなんてことはない。
そもそもは関数名代入が気持ち悪いと感じる原因と、自分がやってる対処法を上げて有用な異論がないか知りたかっただけだし。

247:デフォルトの名無しさん
18/08/05 12:46:59.88 jOOhioBF.net
記述量が増えるったって Dim ret と 最後の代入の2行だけじゃん。
途中の 「関数名 = ~ 」 という代入の記述を減らせるんだったら大した害悪じゃない。
最初からそういう話をしているのにね。

248:デフォルトの名無しさん
18/08/05 12:58:38.58 d6sOKofu.net
>>190
平均はできた、けど標準偏差はわからない
URLリンク(paiza.io)

249:デフォルトの名無しさん
18/08/05 13:00:05.97 d6sOKofu.net
>>238
ヒープ使って合計の少ないものに足してます

250:デフォルトの名無しさん
18/08/05 13:30:42.82 VayD9W7b.net
行き違いがあるんじゃない?
コーディングルールとして決められていれば、多少記述が増えてもそんなもん何の問題もない
コーディングルールがない状態でいきなり>>227みたいな記述が出てくれば、ボンクラは意味がわからずに戸惑うだろう

251:デフォルトの名無しさん
18/08/05 13:51:42.51 7Eiwzs5v.net
な?
たかが返り値を返すだけの話なのに
グローバルにするだのRetに一時保存するだのExit Sub禁止するだの
名前を変えるときは注意深く使ってるとこ全部変えるだの
謎のオレオレルールが一気に湧き出してきた
これが関数名に代入方式の弊害だよ
VBAに染まってない一般的なプログラマなら
「関数名に戻り値代入ってなんかキモくね?」「せやなぁなんでreturn文ないんやろねぇ」
こう一瞬で同意を得られるはずなんだがVBAワールドだとこうなってしまう
まるで異世界に迷い込んだような感覚

252:デフォルトの名無しさん
18/08/05 13:57:46.59 7RpOjRbA.net
VB.netもreturnなんだな

253:デフォルトの名無しさん
18/08/05 14:22:10.24 C8NdcnMU.net
>>235
> 最初の>>215の段階からRetが有効に使える場合のことしか書いてないよ
>>215が有効とか思ってるのはお前らだけ
>>236
> 実際この運用でうまく行ってるし意味がないなんてことはない。
お前らは勝手にやってればいい。
>>237
> 途中の 「関数名 = ~ 」 という代入の記述を減らせるんだったら大した害悪じゃない。
記述は減ってない
関数名を変更した時の変更量が減るだけ
しかも本人が書いてる通り
> ※コピペ直後に「完全に一一致」でプロシージャ内置換すれば良い
だけなのに、何故はそれはやりたくないらしい w

254:デフォルトの名無しさん
18/08/05 15:39:03.72 fib/Q9e8.net
そもそも、仮に何度も関数名?に代入し�


255:スとしてもその関数が長く無ければ混乱することも無い。 長い関数はそもそもダメるわけで最初から混乱することは無い。 関数を100行程度にするってのは常識だろ。



256:デフォルトの名無しさん
18/08/05 16:14:10.59 7Eiwzs5v.net
100は長すぎだろ

257:デフォルトの名無しさん
18/08/05 16:31:24.96 OTeO2/4+.net
>>245
そうか?
Cプログラミング診断室の人が許容される限界は100行までと言ってたからそれに準じたまでだが。
それに、だったらお前さんは短い関数で混乱してたということ?

258:デフォルトの名無しさん
18/08/05 16:32:17.90 lCYlyBjK.net
書き間違えでしょwww
俺は最長でも60行くらいだ。
それはともかく、関数名は最終的な答えを代入するためのものであって、
途中の値なんか決して代入したくないよって理由じゃないの?
少なくとも俺はそうだ。

259:デフォルトの名無しさん
18/08/05 16:33:09.91 lCYlyBjK.net
書き間違えじゃないのかよ

260:デフォルトの名無しさん
18/08/05 16:39:11.36 OTeO2/4+.net
returnのある言語から入ってきたから違和感を感じるのかも知れないがreturnよりは自然だろ。
そもそも俺は関数名?に代入するということを習ったことが無い。
最初にFunctionプロシージャを見て全てを理解した。
自然に理解出来た。

261:デフォルトの名無しさん
18/08/05 16:53:49.71 DQLB2G4w.net
>>246,245
限界が100行なのであって、普段は50行とかに抑えるべきだと言いたかったんだと思う。
それを100行程度が常識だと勘違いしただけじゃないかな?

262:デフォルトの名無しさん
18/08/05 17:02:35.19 C8NdcnMU.net
> 関数を100行程度にするってのは常識だろ。
って言うのを限界と言うのは苦しいだろ w

263:デフォルトの名無しさん
18/08/05 17:40:35.93 FkgLp/sd.net
ちょっと待ってほしい
他の言語なら50行で書ける関数もVBAだと100行に膨れ上がるから仕方ないのではないだろうか

264:デフォルトの名無しさん
18/08/05 18:38:48.57 FpUB4uXn.net
Cプログラミング診断室の人がVBAに言及するのか?
VBAを使ってはいけない原理主義者の人は相変わらずこじつけがスゴイなw

265:デフォルトの名無しさん
18/08/05 19:19:38.85 OTeO2/4+.net
なんじゃそりゃ。
どんな言語でも短くすべきなのは常識だろ。
50行だろうが100行だろうが関数名?代入しても混乱しないだろ。

266:デフォルトの名無しさん
18/08/05 19:21:07.38 OTeO2/4+.net
>>251
何だ?
10行じゃマズい何かがあるとでも思ってるのか?
それはさすがにプログラミング知らなすぎ。

267:デフォルトの名無しさん
18/08/05 19:23:39.26 NFAVCAdx.net
手続き型だとそこまで細分化してもかえってわかりにくいけどな

268:デフォルトの名無しさん
18/08/05 19:31:00.06 C8NdcnMU.net
>>255
プログラミングの前に日本語の勉強しなよ…

269:デフォルトの名無しさん
18/08/05 20:48:23.33 xg7vFkon.net
質問です
他のBookから元bookの"テーブル1"を参照するになやんで
Range(myBook.Name & "!テーブル1")
としましたがもうちょっといい方法はないのでしょうか

Sub 元WBのテーブル範囲を名前から参照したい()
Dim myBook As Workbook
Set myBook = ActiveWorkbook
Debug.Print Range("テーブル1").Address
'
Dim TempWB As Workbook
Set TempWB = Workbooks.Add
Debug.Print Range(myBook.Name & "!テーブル1").Address  ’これ
End Sub

270:デフォルトの名無しさん
18/08/05 20:48:50.34 VayD9W7b.net
他の言語ならともかくvbaなんてスクリプトなんだから多少行が増えても普通でしょ

271:デフォルトの名無しさん
18/08/05 21:46:30.28 x6CWYB22.net
Workbook.worksheet.listobject("テーブル名")とか

272:デフォルトの名無しさん
18/08/06 18:40:21.72 srsn67Ss.net
基本vbaは良くも悪くもやっつけ仕事片付ける用途だからなぁ
いっそ他人が読んだりメンテしたりすることを全く考慮しないのも手っていう記事見たことがあるけど
極論とはいえ、適材適所って意味ではそれも手だなとおもた

273:デフォルトの名無しさん
18/08/06 21:02:33.88 nuq1zyN5.net
vbaは使い捨てのマクロとかしょっちゅうだし


274:ね 他の言語とはかなり正確が異なる



275:デフォルトの名無しさん
18/08/06 21:57:34.50 DlUo5dI6.net
・誰かが質問をする
 ↓
・とりあえず誰かが質問にダメ出しをする
 ↓
・そのうち誰かが回答する
 ↓
・俺の方が上と違う人が別の回答をする
 ↓
・どちらの回答も的外れなためにダメ出し合戦が始まる
 ↓
・不利になってきた方がそもそもVBA自体が糞と論点をそらす
 ↓
・とことん荒れる
 ↓
・各自「やっぱり俺の知識が至上だったな」と思い矛を収める

・質問者「で、俺の質問は…」

276:デフォルトの名無しさん
18/08/06 22:05:07.55 HWRT0k/I.net
・変なキチガイが唐突に持論を展開する

277:デフォルトの名無しさん
18/08/06 22:09:50.77 1zJm1iav.net
>>261
自分しか使わない書き捨てツールと社内に配布して他の人に使ってもらうツールじゃ組み方は違うわな
別にVBAに限った話じゃないけど

278:デフォルトの名無しさん
18/08/07 01:29:58.65 8F5FPkZy.net
質問に対してこんな感じでいいんじゃね~って教えるのと、
仕事で残すコードでも組み方は全然違ったりする

279:デフォルトの名無しさん
18/08/07 12:27:46.44 o04k1oyM.net
変数を宣言したら直ぐに初期化するように、と解説サイトにはよく書かれているのですが、
ループカウンタも初期化する必要があるのでしょうか

280:デフォルトの名無しさん
18/08/07 12:50:25.25 Hr4AgTw6.net
vbaレベルならいらないんじゃねて思うけどね
グローバルとかオブジェクト変数はやるけどそれ以外はして無いわ

281:デフォルトの名無しさん
18/08/07 12:58:23.99 zpIkHTy8.net
>>267
VBAの変数には既定値というのがちゃんと定義されているので、初期化は必ずしも必要ない
VBAの仕様を知らない人にコードを見せる可能性があるなら初期化してもいいけど、
俺個人の考えでは、宣言と初期値の代入は分けて書くべき
質問の文脈から判断して、ループカウンタとはFor文で使うカウンタ変数のことだろうけど、これは初期化しなくていい
しかし「ループカウンタ」はもっと広い概念を表すので、初期化が必要なケースも多々存在する

282:デフォルトの名無しさん
18/08/07 15:43:33.88 JsLgKgln.net
>>267
VBAではそもそも初期化できない。

283:デフォルトの名無しさん
18/08/07 18:35:06.29 o04k1oyM.net
ありがとうございます。
特に初期値は設定せずにそのまま使うことにします。
ところで、VBAを触り始めてから他のプログラミング言語にも興味が出てきました。
使い勝手や習得時間を省みて、VBAを習得している者にとって一番コスパがいい言語は何でしょうか。
やはりVB.NETでしょうか。
スレチでしたら無視してください。

284:デフォルトの名無しさん
18/08/07 19:02:13.91 kevEyuIc.net
なんかの言語をひとつ習得できる人なら何でもいいよ
言語別の利用者数、給与、分野、いろいろ調べてみ

285:デフォルトの名無しさん
18/08/07 20:12:05.34 BqQIYASV.net
>>271言語よりIDEの開発環境が充実してる方が覚えやすい
VisualStudioがおススメ
C#の方が圧倒的にサンプルも多いし解説Webページも多いので良いのでは

286:デフォルトの名無しさん
18/08/07 20:40:19.29 50B7Hyqk.net
>>271
VB.NETとC#のコードを見比べて自分が分かりやすいと思った方かな
または、こっちの方が好きだと思える方

287:デフォルトの名無しさん
18/08/07 20:44:08.52 BqQIYASV.net
それにC#ならA


288:ndroidアプリも作れるしiOSアプリも作れる



289:デフォルトの名無しさん
18/08/07 20:56:18.42 i+W8MTkr.net
>>271
日常的な小手先の処理したいならPythonやNode.jsみたいなスクリプト言語
がっつりアプリ作りたいなら最近流行りのGoやSwiftやkotlin

290:デフォルトの名無しさん
18/08/07 21:13:08.98 zpIkHTy8.net
20代までならC#ぐらいは覚えておいたら転職で役に立つかも知れない

291:デフォルトの名無しさん
18/08/07 21:33:21.73 eM6c9wNK.net
仕事で社内サイトの検索結果を数十ページ出して
その中から必要なデータをExcelに貼り付けるVBAをCreateObject(" InternetExplorer.Application"を使って作ったのだけど
社内ネットワークが重すぎて1ページあたり1分以上、つまり20ページあると20分以上というものすごい時間がかかります。
これ各ページの平行作業かなにかで、どんなにページ数があっても1分強くらいですます方法はないのですか?

292:デフォルトの名無しさん
18/08/07 21:44:50.55 eM6c9wNK.net
ちなみに今は
1ページ開いて、そのページを完全に読み取ったら(●ここに時間がかかっている。30秒~60秒くらいか)、IEオブジェクトを利用してGetIdByIDなどでデータを読み込み、そのページを閉じ、
それをページ数だけ繰り返しています。

293:デフォルトの名無しさん
18/08/07 21:58:48.99 zEgIKMkK.net
無いです
シス管に糞サイトが遅いぞって文句言いましょう

294:デフォルトの名無しさん
18/08/07 22:03:53.33 eM6c9wNK.net
いや、あるのでは?
他言語ではマルチスレッドというやつかな?

295:デフォルトの名無しさん
18/08/07 22:07:46.26 zpIkHTy8.net
IEオブジェクトを配列にしてWEBページの同時読み込みに挑戦してみたことあるけど、なぜかVBAではうまくいかなかった
これはいまだに理由がよくわからん

296:デフォルトの名無しさん
18/08/07 22:52:34.26 Ylf+FX0e.net
VBScriptで処理を書いて
マルチプロセスでやってみるのはどうだろう
ネットワークが遅いのが原因だとすると
変わらないかもしれないけど
2/3 ~ 1/2 くらいは期待できるんじゃないかな
社内DBに直結してデータぶっこ抜けないかな

297:デフォルトの名無しさん
18/08/07 23:01:00.74 WUtnzCvr.net
>>246
マーティン・ファウラーはメソッド平均6行ぐらいだってさ
俺もC#やJavaを使うときはだいたいそれと同じぐらいに自然と落ち着く
VBAは冗長で書きにくいから10行〜20行ぐらいになっても我慢するけどね(どうせすぐ破棄するってのもあるが)
100行ってのはおそらくだが速度最適化のために可読性保守性を無視したコードならそれぐらいまでOKってことではないかな
C言語は何よりもまず速度みたいなところがあるからね

298:デフォルトの名無しさん
18/08/07 23:10:51.13 50B7Hyqk.net
>>284
俺もC#では平均だと6,7行くらいだな
Javaも最近やってないがそんくらいだったと思う

299:デフォルトの名無しさん
18/08/07 23:14:03.05 zEgIKMkK.net
>>281
エスパーすると社内サイトの検索処理がダメダメで異様に時間食ってると思うのでクライアントでいくら頑張っても無理

300:デフォルトの名無しさん
18/08/07 23:19:30.40 EHUuk9/6.net
ネットワーク越しの処理ってVBA異常に遅かった記憶があるなぁ

301:デフォルトの名無しさん
18/08/07 23:44:33.38 +TFKzcWv.net
6,7行とか本当?
明らかに保守よりも作成する頻度の方が高いから、結構雑になる
下はディレクトリの一覧ファイル作るマクロ。確か5.6回しか使っていない
※数万ファイルのファイル名を一覧にしたかったらしい
Sub main()
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
strPath = InputBox("調べたいフォルダを絶対パスで入力してください。", "ファイル一覧", "c:\")
Cells(3, 2) = " "
Range("A3", ActiveCell.SpecialCells(xlLastCell)).ClearContents
Range("A3").Select
i = 3
FileDisp strPath, i
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

302:デフォルトの名無しさん
18/08/07 23:44:40.74 +TFKzcWv.net
Private Sub FileDisp(strPath, i)
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFld = objFs.GetFolder(strPath)
'folder
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = Int(objFld.Size / 1024)
Cells(i, 5) = "folder"
Cells(i, 6) = objFld.DateCreated
Cells(i, 7) = objFld.DateLastAccessed
Cells(i, 8) = objFld.DateLastModified
i = i + 1
For Each objFl In objFld.Files
Cells(i, 2) = objFs.GetBaseName(objFl.Path)
Cells(i, 3) = objFl.ParentFolder.Path
Cells(i, 4) = Int(objFl.Size / 1024)
Cells(i, 5) = objFl.Type
Cells(i, 6) = objFl.DateCreated
Cells(i, 7) = objFl.DateLastAccessed
Cells(i, 8) = objFl.DateLastModified
i = i + 1
Next
For Each objSub In objFld.SubFolders
FileDisp objSub.Path, i
Next
End Sub

303:デフォルトの名無しさん
18/08/07 23:46:49.50 +TFKzcWv.net
この辺は配列に入れようかと思ったけどもういいやってなった
使い捨てじゃなければもう少し綺麗にまとめたいんだけど、
そんな暇は、ない
Cells(i, 2) = objFs.GetBaseName(objFld.Name)
Cells(i, 3) = objFld.ParentFolder.Path
Cells(i, 4) = ・・・

304:デフォルトの名無しさん
18/08/08 00:43:07.64 vvQmCMQJ.net
扱うプログラミング言語によるエンジニアの年収差「Go」が1位に 2018年8月7日
 ・スタンバイが「プログラミング言語別年収ランキング2018」を発表した
 ・1位に輝いたのは、さまざまな分野で利用されている「Go」
 ・年収中央値は600万円で、10位の「C言語」と比べて75万円高いという
 URLリンク(image.news.livedoor.com)
URLリンク(news.livedoor.com)
Goってなんやねん…
って言うてたらアカンのんか…

305:デフォルトの名無しさん
18/08/08 02:42:12.63 bsMqBICX.net
ポケモンだろ

306:デフォルトの名無しさん
18/08/08 03:02:57.55 vtZ7Dair.net
>>282
複数のIE インスタンスがあっても、1つしか実体化されていないとか?
それか、それらが共有化されているとか?
すべてのインスタンスを、別々に実体化したか?

307:デフォルトの名無しさん
18/08/08 05:59:42.24 1w8vuJFc.net
>>293
インスタンスとは実体化されてるそのもののことだと思うけど。どういうこと?

308:デフォルトの名無しさん
18/08/08 06:57:52.22 QCGkbsMF.net
カップヌードルにお湯を入れます、これがインスタンス化です
カップヌードルにお湯を注いでいたとしても、それが同じカップヌードル
だったらできあがるカップヌードルは1つだけですよね、そういうことです

309:デフォルトの名無しさん
18/08/08 08:10:17.80 Ot2gBzQj.net
>>279
InternetExplorer.Applicationは遅い。
ページにもよるけどMSXML2.XMLhttpとかhtmlflle使った方が全然速い。
ページにもよるのは遷移後にJavaScriptなどでページ内容が変わる場合等は対応出来ない場合があるから。

310:デフォルトの名無しさん
18/08/08 09:27:23.26 wHDW8dSe.net
Webアプリを作って取得したデータをエクセルで読み込めば早いのでは?

311:デフォルトの名無しさん
18/08/08 11:19:22.65 wMtMcgI8.net
社内サイトなら>>283の言うとおりDBを直接アクセスするのが正解なんだが、
「そういう想定で作ってません」てパターンもありそう。

312:デフォルトの名無しさん
18/08/08 12:44:02.26 fnpjJPlP.net
一般社員用クライアント - WEBサーバ - DBサーバ - 管理者用クライアント
WEB経由じゃないと、DBには直接アクセスできないってケースもよくある

313:デフォルトの名無しさん
18/08/08 13:19:28.34 hYvxbMfU.net
以前データをCSVに書き出す社内Webがクソすぎて
解析したらページ内のパラメータjoinしてSQL文作ってPOSTで投げて取得してただけだったので
XmlHTTPで直接取るようにしたことあるわ

314:デフォルトの名無しさん
18/08/08 19:07:51.20 wMtMcgI8.net
>>299
つまらんことするよなあ

315:デフォルトの名無しさん
18/08/08 19:14:31.05 woeaWRrx.net
DBに無制限で直接アクセスってヤバくね?

316:デフォルトの名無しさん
18/08/08 20:01:33.99 5XCxVkf/.net
無制限のアクセスはやばいけど
このテーブルだけ許可しますとか
SELECTだけ許可しますとか
このIPからだけ許可しますとか
できるっしょ

317:デフォルトの名無しさん
18/08/08 21:58:07.18 F+QXSseb.net
社内DB全開放して自由にクエリ投げれるようにしたら事務の人間半分くらいいらなくなりそう
というかVBAなんかよりSQL勉強したほうが手っ取り早く幸せになれる人多いんじゃないかと前々から思ってる

318:デフォルトの名無しさん
18/08/08 22:05:47.67 XDTEOjvF.net
webで良いからurlがapiとして完成してれば何も言うことは無い

319:デフォルトの名無しさん
18/08/08 22:22:03.67 +Hip1o5f.net
>>304
報酬次第だね
事務のコストを圧縮するごとにシステム部の報酬が上がるなら、
システムは本気で頑張り続けるだろうね
現実的にはなぜかそれが行われないので、いつまで経っても事務が事務事務している

320:デフォルトの名無しさん
18/08/08 22:23:00.50 +Hip1o5f.net
ただ、下手にアクセスで作ると自分以外触れなくなって何かあったら即死する
中小企業なら、エクセル+エクセルvbaが最強だと思っている

321:デフォルトの名無しさん
18/08/08 22:49:37.58 jNIJWXgx.net
>>307
アクセス専門業者を呼べばいいだけじゃん

322:デフォルトの名無しさん
18/08/08 23:28:48.50 +Hip1o5f.net
>>308
死ぬほど高い

323:デフォルトの名無しさん
18/08/09 00:59:24.50 JCoC1JfU.net
1から開発で今更Accessも無いだろう。データベースシステムでスタンドアロンのシングルユーザーというのがそもそも想定しにくい

324:デフォルトの名無しさん
18/08/09 01:02:04.53 cF5SxCfL.net
当たり前のことなんだけど、これまでなかなか上手いたとえが思い付かなかったが…
Manabu Ueno @manabuueno 16:46 - 2018年8月1日
 ユーザーの要求をそのまま機能にすると役立たない物になってしまいます。
 デザイナーはユーザーの要求を抽象化して本来的な原理を見つける必要があるのです。
 例えば「直進したい」「左折したい」「右折したい」という要求に対して、3つのボタンではなく、
 1つのハンドルを提案できなければいけません。
 URLリンク(pbs.twimg.com)
URLリンク(twitter.com)
この例えは現場の人と話すときにも使えそうだな
URLリンク(twitter.com) (5ch newer account)

325:デフォルトの名無しさん
18/08/09 06:36:39.58 Uz7F5Yyf.net
真の欲求って奴だな
これを知らないとデスマーチからいつまで経っても抜け出せなし

326:デフォルトの名無しさん
18/08/09 07:59:59.62 TQ/3uoG6.net
ソフトごとに違う使い方やI/F覚えるよりSQL覚えた方が早いしずっと役立つんじゃね?

327:デフォルトの名無しさん
18/08/09 08:16:05.94 XQnUSO4S.net
>>313
なるほど!
じゃあ社内DBに直接アクセスしたいのですが、その方法はどうしますか?
HTMLのフォ


328:ームに入力してSubmitすれば次のページでいろんなデータが見れるようになっているのですが そのHTMLフォームがあるページのHTMLソースを見ればその中のどこかに社内DBのアドレスやログイン方法みたいなのが書いてあるのですか?



329:デフォルトの名無しさん
18/08/09 08:22:15.68 0WK0pW+2.net
>>314
そんなバカな
HTMLから投げるのはサーバーサイド処理のスクリプト
ASPだったりCGIやPHP
ページのソースに書いてあったら怖いだろ

330:デフォルトの名無しさん
18/08/09 08:24:20.68 nqTz3IyX.net
>>314
お前には無理だから諦めろ

331:デフォルトの名無しさん
18/08/09 08:38:23.31 sKYMgflt.net
そういやExcel VBAでもADO使えばSQL使えるみたいだけど、どれくらい制限あるの?

332:デフォルトの名無しさん
18/08/09 09:09:17.52 BeIAvoie.net
???
そもそも何に接続したいの?
SQLといってもそれによるでしょ。
接続できるアカウント用意してもらって、
接続用ODBCドライバ入れて良いかどうかとか、情シスに聞いてみれば?

333:デフォルトの名無しさん
18/08/09 10:14:25.51 yeHg7T00.net
>>317
機能に制限はない
運用側で接続やアクセスを制限するのが普通のやり方

334:デフォルトの名無しさん
18/08/09 12:17:46.94 TQ/3uoG6.net
>>317
SELECTとかINSERTとかのSQLを実行する分にはvbaだからどうこうっていう制約は何もないよ。

335:デフォルトの名無しさん
18/08/09 18:30:51.09 sKYMgflt.net
>>319
>>320
え、そうなんだ
じゃあ単にシート内を検索するときもDictionary使わずに、ADOで接続してSQL使った方がシンプルで応用がききそうだね
もっともExcelでSQLの命令書くのが簡単なのなのかはわからないけれども

336:デフォルトの名無しさん
18/08/09 18:39:29.03 XQnUSO4S.net
ところで新バージョンExcelで「游ゴシック」がうざくてしかたがない。
これ地獄の底へ抹消する方法ない?
しかも「游」ってなんだ?「遊園地」の「遊」でもないし。

337:デフォルトの名無しさん
18/08/09 18:47:08.22 JCoC1JfU.net
Web制作では游ゴシは福音なんだがな...嫌いならフォントだけアンインストールすりゃいんじゃね?

338:デフォルトの名無しさん
18/08/09 19:24:43.48 YxGb3uhT.net
>>311
たとえおかしくね?
ユーザーが右折したい左折したいっていってるならボタンが正解だろ
コーナーが90度だけじゃなくてたくさんあるっていう状況まで汲めってそりゃ無茶ぶりだろ

339:デフォルトの名無しさん
18/08/09 19:26:31.27 FjggVehY.net
既定のフォント設定で簡単に変更は出来るけど、他人の作るブックはどうにもならんからな…

340:わ
18/08/09 19:29:47.37 Iu9wUSgQ.net
>>325
それだけでは足りないぞ

341:デフォルトの名無しさん
18/08/09 20:56:51.04 cF5SxCfL.net
>>324
「コーナーが90度だけ『じゃなくてたくさんある』っていう状況」まで汲め
まずは、要求を抽象化してその可能性に気づき
次に、こちらから質問してそういうケースが起きうるのかを確認する
それだけの話で超能力でも忖度でもムチャぶりでもないよ
(あ、でも確かに最初の抽象化ができない人にやれというのはムチャぶりになるかもね)

342:デフォルトの名無しさん
18/08/09 21:10:58.19 ou4vsgQB.net
ヒアリングしても具体的な典型例のみが挙がるかレアケースばかり挙がることが多い気がする
実務やってる人間にとって当たり前すぎることは出てこなくて、試作段階で出来なくてもいいのかの確認とったら出来ないと話にならんとか
俺は自部署以外だと多部署からの依頼を受けて作る程度だからある程度実務がわかる分マシだけど、プロは畑違いの仕事の他社とやりとりするんだから大変だろうな

343:デフォルトの名無しさん
18/08/09 21:23:36.18 Uz7F5Yyf.net
レアケース挙げてくれるならありがたいジャン

344:デフォルトの名無しさん
18/08/09 21:32:44.33 s67NkejU.net
そのためのOOPだ
なんの問題ないよ

345:デフォルトの名無しさん
18/08/10 00:05:32.03 Xmz6l8g0.net
>>321
ODBCだったら
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
というドライバを使うことになるけど、これの機能が貧弱だから凝ったSQLは受け付けてくれない。
単純なWHERE文での抽出だったらできるから、形式が決まったシートなら便利に使える可能性はある。

346:デフォルトの名無しさん
18/08/10 00:07:31.23 Xmz6l8g0.net
>>327
大変だねえ、委託業務は

347:デフォルトの名無しさん
18/08/10 00:07:58.29 buW+ivGR.net
>>323
具体的にはなにがどう良いんだ?

348:デフォルトの名無しさん
18/08/10 00:13:58.45 KVMpRfYs.net
あらゆることを想定したお見積がこちらです

なんでそんなかかるの?と

349:デフォルトの名無しさん
18/08/10 00:36:24.65 GY+5Xvxa.net
>>327
いや、ハンドルとコーナーの話だから抽象化やらも考えやすいだけじゃね?っていう
車とか曲がる行為とかがある程度普遍的だから敷衍できる
でも普段やってる仕事ってそのレベルで進んでるか?ってことよ
抽象化しろっていうのも一見正論だしある程度はしてるけど
曲がるを実装するためにハンドルは俺には飛躍が激しく思える

350:デフォルトの名無しさん
18/08/10 00:45:08.80 nHU64y35.net
抽象化が苦手そうなのがよく伝わってくる
アレはアレ、コレはコレで別モンとして対処するのが得意そうだな

351:デフォルトの名無しさん
18/08/10 00:51:11.37 GY+5Xvxa.net
幸運な>>336はそのレベルででなんだな
どういう仕事してんだ?web系とかか?

352:デフォルトの名無しさん
18/08/10 04:05:42.61 3Gbr2Rmh.net
>>314
そういうのは、Rails とか
無料のRails チュートリアルでも勉強すれば?

353:デフォルトの名無しさん
18/08/10 04:22:01.75 8SROxuQV.net
>>333
游ゴシックはMacとWindowsの両方に搭載されているのでCSSの手間が減る

354:デフォルトの名無しさん
18/08/10 07:12:17.59 hEgtpW6D.net
出ましたRubyヴァカ

355:デフォルトの名無しさん
18/08/10 07:42:41.23 gxVIX6OQ.net
20年遅れくらいでオブジェクト指向に出会った感じがよくでてる

356:デフォルトの名無しさん
18/08/10 13:30:13.92 u/kCZrV9.net
あるクラスのインスタンスをいっぱい作ってそれをCollectionに入れてて
それをその1つの要素でソートするためにはどうしたらいいですか?
VBAにはソート関数みたいなのはないのですか?
イメージとしては人間クラスがあって、年令でソートする感じ。

357:デフォルトの名無しさん
18/08/10 13:40:04.94 PoJQ6i5f.net
rubberduck入れたらCall使うなって怒られた
なんでダメなの?

358:デフォルトの名無しさん
18/08/10 14:51:32.56 gxVIX6OQ.net
>>342
1 年齢と連番を入れた配列を別に作る
2 その配列を年齢でソートして順位を出す
3 インスタンス列をその順番で引っこ抜いて新しいcolllectionとする

359:デフォルトの名無しさん
18/08/10 16:02:16.73 ZQbSW7gd.net
列のソート時に行を崩さない方法について質問させてください。
手作業では成功してます。
一列オートフィルタ→ソートのカスタムから指定文字列選択→完。
マクロだと指定した行のみソートになってしまいデータが壊れてしまいます。
ご回答よろしくお願いします。

360:デフォルトの名無しさん
18/08/10 18:20:14.79 u/kCZrV9.net
>>344
2にもソートが入ってるけど
そのソートの方法が知りたいのですが。
VBAにはもともとの機能としてソートは入っていないかな?
作業シート作って、そこにデータ入れて、Excelの並べ替えの機能を使ってやる方法は思いついたけど
それはダサい、作業シート作るなんてスマート�


361:カゃない、等の理由で好きじゃないのですが。



362:デフォルトの名無しさん
18/08/10 18:55:47.50 9rAsrzZF.net
VBA自体がダサくてスマートじゃないから諦めましょう
生粋のVBAerはこういうとき自作のソートサブルーチンをコピペするらしいです

363:デフォルトの名無しさん
18/08/10 19:00:51.38 hEgtpW6D.net
お前の「ダサい、スマートじゃない、好きじゃない」なんて知ったこっちゃない

364:デフォルトの名無しさん
18/08/10 20:01:43.47 u/kCZrV9.net
VBAってソート関数ないの?
ほんとウンチみたいな言語ですね

365:デフォルトの名無しさん
18/08/10 20:09:31.68 t0FQp9fT.net
>>349
これが言いたばかりに半日スレ更新繰り返してたと思うとクソ笑え?

366:デフォルトの名無しさん
18/08/10 20:26:39.07 u/kCZrV9.net
>>350
あまりわたしを怒らせないほうがいいぞ

367:デフォルトの名無しさん
18/08/10 20:27:17.52 u/kCZrV9.net
わたしは怒ったら怖いんだぞ

368:デフォルトの名無しさん
18/08/10 20:43:22.07 TzsaHsn2.net
自分でクイックソートでも組んでクソしながら寝とけ

369:デフォルトの名無しさん
18/08/10 20:53:13.90 cfNcxUIl.net
ソートってお前ら、せっかくのエクセルvbaなんだから
セルに一度いれたらいいだけじゃないか?
何万行かあってもエクセルのソートはそこまで遅くないだろう

370:デフォルトの名無しさん
18/08/10 20:54:14.30 EZ4av1qU.net
そういやSortがkeyが三つまでしか指定できない仕様は変わらんのかな
Excelだと四つ以上指定できるのに、VBAだと複数回に分けてやる必要があるとかいうよくわからない状態になってるし

371:デフォルトの名無しさん
18/08/10 21:13:10.19 DHT31mYJ.net
>>352
どうかこれで怒りをお鎮めください
Sub Sort(a)
 Dim i, j, t
 i = 0
 Do
  If UBound(a) <= i Then
   Exit Do
  End If
  j = 0
  Do
   If UBound(a) <= j Then
    Exit Do
   End If
   If a(j) > a(j + 1) Then
    t = a(j)
    a(j) = a(j + 1)
    a(j + 1) = t
   End If
   j = j + 1
  Loop
  i = i + 1
 Loop
End Sub

372:デフォルトの名無しさん
18/08/10 21:18:56.66 hElUeWw3.net
>>346
数値のソートは自分で頑張って実装しなさいよ
順序づけインデックスを使って任意のコレクションを並べ替えるロジックは汎用性のあるものだから
自作する意義は十分にある。

373:デフォルトの名無しさん
18/08/10 21:21:33.75 hElUeWw3.net
汎用性があるってだけでなく、
ひとつの順序づけインデックスを使って複数のコレクションを同じ順に並べ替えることが出来るからね

374:デフォルトの名無しさん
18/08/10 21:59:32.18 CvQqUFge.net
順序付けインデックスって何?

375:デフォルトの名無しさん
18/08/10 22:19:22.24 BBFwYEVu.net
>>359
ごめん一般的にどう呼ぶか知らんからテキトーな名前で言った
ソート対象のデータの横にナンバーが振ってあったとして、データと一緒にそいつもソートすると思ってください。
その後、ナンバー部分を取り出したもの。

376:デフォルトの名無しさん
18/08/10 23:26:19.27 swVL64k5.net
別にVBAでもソート出来るでしょ。
調べ方が足りないんじゃね?

377:デフォルトの名無しさん
18/08/10 23:42:39.74 tKZj7bhP.net
ソートが出来るコレクションは限られてる
目的にあった使用ができるか調べればいい

378:デフォルトの名無しさん
18/08/10 23:52:22.63 CvQqUFge.net
>>360
そんなことしなくても比較する関数を渡して直接ソートするのが一般的だし汎用的では

379:デフォルトの名無しさん
18/08/10 23:56:04.31 Xmz6l8g0.net
>>363
そうだけど>>358のメリットががが

380:デフォルトの名無しさん
18/08/11 01:03:51.43 niUEedr6.net
.NET APIのArrayList使えばコレクションのソートもできるじゃん
VBAでも使えるぞ

381:デフォルトの名無しさん
18/08/11 11:39:39.78 K8a9DxhQ.net
>>365
それどうやって使えるようにするの?

382:デフォルトの名無しさん
18/08/11 11:46:17.07 KSv2Sz3+.net
>>366
CreateObject("System.Collections.ArrayList")で普通にオブジェクト生成できる
あとはググってどうぞ

383:デフォルトの名無しさん
18/08/11 12:05:04.95 YyI+aygL.net
λもLinqもないVBAに.NETコレクションを渡されてもあんまり嬉しくないでしょう
Private app As New MyDotNetComLib.MyApp
Sub イベントハンドラ()
 app.DoSomething ThisWorkbook
End Sub
こっちのほうが楽だよ
コレクションのソートはC#サイドで好きなだけできる

384:デフォルトの名無しさん
18/08/11 12:20:08.44 cu5jnq2r.net
>>368
比較関数は渡せるの?

385:デフォルトの名無しさん
18/08/11 12:42:46.23 YyI+aygL.net
>>369
C#サイドで好きなだけ渡せるよ

386:デフォルトの名無しさん
18/08/11 12:50:48.93 Tdr5W98e.net
>>370
VBA側で定義できるかが課題

387:デフォルトの名無しさん
18/08/11 12:56:28.26 YyI+aygL.net
>>371
わざわざVBA側でする意味がないじゃん?

388:デフォルトの名無しさん
18/08/11 13:11:49.02 0HQvSoaX.net
>>370
楽といっても、C#スキルのある人限定の話でしょ
VBAのメイン利用層は、現場のエンドユーザーであり
本職のプログラマーじゃないんだよ

389:デフォルトの名無しさん
18/08/11 13:13:13.81 XUOVQ5jM.net
そのC#側のコードはどう書くんだ
メモ帳か?HTMLタグ手打ちでホームページ作るのよりしんどそうだが
ああ、今はオンラインIDEってのもあるのか
IE11が使用環境に入ってなきゃ意味ないけど

390:デフォルトの名無しさん
18/08/11 13:15:21.09 K8a9DxhQ.net
>>367
ありがとうでガンス。
なんだかよさげザマスね。
ところでこのCreateObject("System.Collections.ArrayList")を収納する変数の型はなににしたらよいザマしょうか?
F2で出るオブジェクトブラウザに表示されてそんなメソッドが使えるか調べたいでガンスが、それにはどうしたらいいでしょうか?フンガー

391:デフォルトの名無しさん
18/08/11 13:38:17.51 KSv2Sz3+.net
>>375
受け手の変数をVariant型かObject型で定義しとけば処理実行時にArrayListオブジェクトを受け入れる
Scripting Runtimeとかのオブジェクトを実行時バインディングで使用するときとまったく同じ
.NETライブラリのパスを参照先に設定すれば、ArrayList型変数の宣言、インテリセンス入力、オブジェクトブラウザでのオブジェクトモデルのブラウジングも有効になるよ
ライブラリパスは自分で調べてね

392:デフォルトの名無しさん
18/08/11 13:53:32.73 cu5jnq2r.net
>>372
C#側をライブラリとして固定できなくなっちゃう

393:デフォルトの名無しさん
18/08/11 14:18:44.31 YyI+aygL.net
>>377
すまない
MyDotNetComLibと書いたのが悪かったようだね
これはライブラリじゃなくアプリケーションのつもりで書いた(MyApp)
キミが考えているだろう一般的な意味でのライブラリはアプリケーション内部で好きに参照してくれればいい

394:デフォルトの名無しさん
18/08/11 14:34:57.92 cu5jnq2r.net
>>378
ちょっと意味がわからん
比較関数をとっかえひっかえしたいときどうするの?

395:デフォルトの名無しさん
18/08/11 14:38:33.82 YyI+aygL.net
>>379
C#側でとっかえひっかえすればいい
互いのイメージに齟齬があるのかもしれない
まずVBAで書いたらどうなる?

396:デフォルトの名無しさん
18/08/11 15:02:32.83 cu5jnq2r.net
>>380
VBA側で
Function compare(a, b) As Boolean を書いて
ソートするときに compare を渡せるかって意味だけど。
「C#でとっかえひっかえ」っていうのはつまりC#のコードを都度書き加える、って意味だろ?
C#側でそんな粒度での改修はやりたくないよ。

397:デフォルトの名無しさん
18/08/11 15:11:49.88 YyI+aygL.net
>>381
そうか?
バックグラウンドで自動テストしてくれるC#のほうが高頻度の修正ではだいぶ有利だろう
逆にVBAでそんな粒度の改修なんて俺はやだよ
テストの工数で死んじゃうよ

398:デフォルトの名無しさん
18/08/11 15:24:07.75 cu5jnq2r.net
>>382
C#側に比較関数をいくつか書いたとして、VBAではどういう方法で比較関数を選ぶんだ?
それともVBA側に選択ないのか?

399:デフォルトの名無しさん
18/08/11 15:26:35.53 CkFe1vux.net
それってVBA


400:でやる必要あるの?



401:デフォルトの名無しさん
18/08/11 15:31:01.25 759gB6fj.net
VBA側ではワークブックを渡すだけにしてあとは全部C#でやれっていう皮肉だろ
皮肉が面白くないってのは置いといて>>368を見てそれが理解できないのも相当ヤバい

402:デフォルトの名無しさん
18/08/11 15:44:44.45 YyI+aygL.net
>>383
比較関数を選ぶのはC#側だよ
当然VBA側じゃない
>>384
この手の処理はVBAでやる必要はまったくないよ
必要ないからC#でやろうって話をしている
ただしExcelそのものは優れたホスト環境なので捨てるのはもったいないし積極的に使いたい
なのでVBAはExcelとのインタラクションに集中してもらい
コアな仕事はすべてC#にディスパッチしてやってもらおうという考え方だね

403:デフォルトの名無しさん
18/08/11 15:45:41.89 cu5jnq2r.net
>>385
なんか1㎜もわからない
VBAでできないこと(コレクションのソート)をC#で補うという話なんだぜ。

404:デフォルトの名無しさん
18/08/11 15:53:33.14 cu5jnq2r.net
>>386
なんだ、やる仕事の数だけそれに対応したC#プログラムがあるってスタイルか。
それなら理解できるが極端だな。

405:デフォルトの名無しさん
18/08/11 16:01:58.82 YyI+aygL.net
>>388
そう
そしてそれ(仕事の数だけVBAプログラムがある)はVBAでも同じでしょ
だったらどうせ作るなら簡単なC#のほうがいいってこと
極端とは思わないけどね
コアロジックとインフラを可能な限り分離しようって発想はプログラマなら当たり前だから

406:デフォルトの名無しさん
18/08/11 16:03:32.17 WNr/dTgn.net
.NETFrameworkを使えばいいやんと言うのはわかるけどC#とか引っ込みつかなくなった知ったかのあがきにしか見えん w

407:デフォルトの名無しさん
18/08/11 16:18:50.45 KSv2Sz3+.net
VBA以外の言語を使用するアプリケーション開発が出来ない環境も普通にあったりするからね
なので、ArrayListやQueueやStackなど、.NETのオブジェクトであっても引数付きコンストラクタを使用しないクラスならば使えるってことは覚えといた方がいいよ

408:デフォルトの名無しさん
18/08/11 16:20:22.67 cu5jnq2r.net
>>389
VBA/ExcelはUIとデータホルダ役でしかなく、処理はC#ということ自体はわかる。
だけどきっかけはVBAのコレクションをソートするにはどうしたらいい、って話だった。
あんたのスタイルだと「さあここでソートしよう」なんて判断も要求もVBA側には要らなくなるな。

409:デフォルトの名無しさん
18/08/11 16:56:58.80 YyI+aygL.net
>>392
そうだ
VBA側には要らなくなるんだよ
これですっきりしたね

410:デフォルトの名無しさん
18/08/11 18:48:11.02 8odd+763.net
>>391
おまえがそういう畑を歩いてきたのはかまわないが、
そんな環境は「普通」ではないってこと知った方がいいよ

411:デフォルトの名無しさん
18/08/11 18:57:02.54 cu5jnq2r.net
まさかまたプロ様かね

412:デフォルトの名無しさん
18/08/11 19:09:51.09 BZfhgdqm.net
だから、何度も言ってるがユーザーインターフェースはExcelの方が良いんだよ。
業務のメインがExcelなんだから。
とすると.netの場合VSTOということになる。
で、わざわざそこまでする程のことがやりたいかどうかということになる。
結局殆どの場合はVBAということになる。
あとはやりたいことによる。
ソート1つのために頑張って、しかも使う側に余計な配付物が必要となれば、それを補って余りある程のリタ―ンが必要。
Excel上だけどVBAではどうにもならないことをしたい場合ぐらいだな。

413:デフォルトの名無しさん
18/08/11 19:14:22.31 BZfhgdqm.net
>>394
残念ながらVBA使ってる所はそういう所多いよ。
アプリ1つ入れるのに申請が必要な所は多いし、却下となることもある。
どうしてもって時は申請するけど、VBAだけでどうとでもなるからな。
どうとでもならない時にはじめてVisualStudioを入れてもらう。

414:デフォルトの名無しさん
18/08/11 19:35:19.38 0HQvSoaX.net
>>397
うちはきついぞ
・利益を生まない投資は不�


415:ツ ・フリーソフトのインストール禁止 ・エンドユーザーによるアプリ開発禁止 ・一般職員のインターネット利用禁止 何かしたければプリインストールのExcel・Accessで何とかしろという体制



416:デフォルトの名無しさん
18/08/11 19:49:44.13 kovukvPe.net
>>398
何もしないで給料もらえるなら平気

417:デフォルトの名無しさん
18/08/11 19:51:49.13 YyI+aygL.net
>>391
いや無いだろ
仮にExcelがなくてもPowerShell、C#、VB.NET、VBS、JavaScriptあたりはまず間違いなく開発出来る

418:デフォルトの名無しさん
18/08/11 20:00:51.06 YyI+aygL.net
禁止されてるからで思考停止してないで使えるように根回しするなり
まともな権限をもらえる企業に転職したほうがいいぞ
俺だったらVBAしか使えないとか言われたらその日から転活だな
まあこれはVBAだけに限った話じゃなくてもっと一般的にも通じる話な
現代のビジネスマンは受け身の姿勢じゃ通用しない

419:デフォルトの名無しさん
18/08/11 20:03:41.93 BZfhgdqm.net
>>400
だからVisualStudioを入れられない環境はたくさんある。
メモ帳でもC#の開発はできるかもしれないけど、それじゃメリット無いんだよなあ。
他のソフトもそれ用のツールなりエディタなりが入れられなかったらメリットが殆ど無くなるな。
>>398
フリーソフトは駄目でむしろ有料ソフトは申請すれば入れられる場合もあるという所は多いだろうね。

420:デフォルトの名無しさん
18/08/11 20:06:13.95 7FFa3R0I.net
C#er プ

421:デフォルトの名無しさん
18/08/11 20:07:50.49 kovukvPe.net
>>398
一般職員とかあるけど、もしかして税金が給料になる人ですか?

422:デフォルトの名無しさん
18/08/11 20:08:11.63 BZfhgdqm.net
>>401
それは君がそれだけの人だってことだろ。
転職するかどうかは言語よりも仕事の内容や待遇の方が大きい。
それに、突然そういう会社になる訳じゃないから。
今の君はそういう会社には入ろうとしないし。
昔の君ならそういう環境が普通と思うだろ。

423:デフォルトの名無しさん
18/08/11 20:08:29.31 759gB6fj.net
VisualStudioは有料ソフトなんだから申請して入れればいいな

424:デフォルトの名無しさん
18/08/11 20:12:49.57 BZfhgdqm.net
>>398
エンドユーザーによるアプリ開発禁止ってのは、うちもそうだな。
そういえば。
あれだろ。
建前として、開発要員じゃないからだろ。
開発はベンダーにやらせるもので自らやるものじゃないってやつだろ。

425:デフォルトの名無しさん
18/08/11 20:15:59.00 BZfhgdqm.net
>>406
必要になることは無いと思うぜ。
VBAでほぼ何でも作れるから。
うちも建前では開発禁止なんだけど、入れてる奴はいる。

426:デフォルトの名無しさん
18/08/11 20:33:59.79 CkFe1vux.net
マクロ許可ってセキュリティ無しと同意

427:デフォルトの名無しさん
18/08/11 21:12:18.46 cu5jnq2r.net
>>398
それでよく競争になるね
よっぽどゆるい業界なのかソフトウェアで付加価値を生み出せないような業種なのか。
もしくはすでに負けつつあるか
まあそれは日本全体がそうなのかもしれんが

428:デフォルトの名無しさん
18/08/11 21:32:22.07 YyI+aygL.net
>>402
C#ならVSCodeでもサクラでも秀丸でもなんでもいいじゃん
まさかテキストエディタ1つも入ってないわけじゃないだろ
個人的にはメモ帳でもVBAよりはだいぶマシって感じるけど
PowerShellならISEが標準なのでおすすめ
>>405
俺はプログラミングが好きで就職したからVBAだけしか出来ないなんてことになったら地獄
幸いそんな嫌がらせみたいな環境で仕事をするはめになったことはないけどね
キミの言い方からするとキミは実はプログラムに興味ないんじゃないか?
今いる会社の待遇がいいから居続けたい
その会社がVBAしか使っちゃいかんというからVBAしか使わない
VBAしか使わないからVBAが何に対してでもベストだと思い込んでしまう
あるいは本心ではベストともなんとも思ってないけどVBAしか使えないのだから考えてもしょうがないと思ってる
キミはたぶん会社がVBAも含めて全部禁止だと言ってきたらとくに何の抵抗も感じずに受け入れるんだろう
>>410
上に立つ人間が競争に勝つことより自分の定年までリスクを避けて逃げ切りたいと考えてる会社なんだろう
こういう会社で後に残された若手~中堅の社員は悲惨だよ

429:デフォルトの名無しさん
18/08/11 21:58:11.03 Td/zZZ7D.net
了解しました

430:デフォルトの名無しさん
18/08/11 23:28:48.62 Ddi0PfCN.net
>>398
金融?
昔勤めてた証券会社がそんな感じだったな
初めての会社だったから何の疑問もなかったけど、今思えばクソだったな

431:デフォルトの名無しさん
18/08/11 23:48:16.13 cu5jnq2r.net
>>413
金融はマーケットに近い業務だったらエンドユーザによるエンジニアリングが命って部分もあるよ。
バック業務は違うかもしれないが>>398みたいなのは想像しにくい。

432:デフォルトの名無しさん
18/08/12 07:12:24.35 eDwYBbq+.net
>>414
あーそういや営業はネット見れたな
総務だったけど、な~んにもできんかった
lhaca+だけ入ってたのが印象的だったわ(本部からこれだけは認められていた)

433:デフォルトの名無しさん
18/08/12 08:07:48.87 qQiXzzF2.net
確かに...
〓〓〓〓総務部がソフトウェア開発で付加価値を生み出して利益を出す〓〓〓〓
想像できないなw

434:デフォルトの名無しさん
18/08/12 09:42:38.38 IifAsj4h.net
【ロシア国防省】 日本が、地震に偽装して、核実験
スレリンク(lifeline板)
【核クーデター】 地震頻発おかしい…地下核実験?
スレリンク(earth板)

435:デフォルトの名無しさん
18/08/12 09:48:52.50 YMBuKX4y.net
総務部の暇つぶしのおもちゃがVBAってこと?
そんなレベルでVBAなら何でも出来るとかVBAが最高とか言ってってこと?
いろんな環境や言語で開発経験が有って
人に売れる程度のモノを作った経験がある前提で話してるのかと思ってたがそうじゃなかったんだな

436:デフォルトの名無しさん
18/08/12 09:58:55.05 qQiXzzF2.net
>>418
そこまで行くとプロ様だからこのスレでは出禁になってますよw

437:デフォルトの名無しさん
18/08/12 10:36:29.18 eDwYBbq+.net
>>418
大企業は本部が全てのシステムを作り、画一されたものが支社に配られるってパターンが多い
全てのツールは基幹システムに集約されているからvbaを使う必要は無い
反面、中小・零細はvbaバリバリで使えないとしんどいだろうね
vbaは開発コストが高い上に単価を安く見られがちなので
わざわざvbaで開発したものを売ろうって奇特な会社は少ないと思う

438:デフォルトの名無しさん
18/08/12 10:36:48.72 231D16m0.net
まじかよw

439:デフォルトの名無しさん
18/08/12 11:17:08.28 YMBuKX4y.net
>>420
中小・零細のほうが身軽だし金がない
ならVBAにこだわる理由なくね?

440:デフォルトの名無しさん
18/08/12 12:00:36.42 G3Q4bI/2.net
>>422
こだわってるんじゃなく、選択肢がないんだよ
・有償ソフトを買う予算は通らない
・フリーソフトのインスコ禁止
この環境で君は何を使って開発するのかな

441:デフォルトの名無しさん
18/08/12 12:15:11.22 eNrGPpfD.net
マクロ禁止にしててもvbsからC

442:デフォルトの名無しさん
18/08/12 12:15:25.61 eNrGPpfD.net
やっぱやめとこw

443:デフォルトの名無しさん
18/08/12 13:01:03.65 YMBuKX4y.net
>>423
いやいやメチャクチャこだわってるじゃんw
膨大な実績があってMSなど様々な企業や団体も採用してる無料のOSS製品やサービスなんていくらでもあるのになんでわざわざ禁止してエクセルVBA?
変なこだわりがあるとしか思えんなぁ

444:デフォルトの名無しさん
18/08/12


445:13:08:20.22 ID:+KVVkWbV.net



446:デフォルトの名無しさん
18/08/12 13:22:01.64 YMBuKX4y.net
>>427
「セキュリティよく分からんけど何かあったとき俺が責任とるのやだから何もかも禁止」ってやつだね
というかこの場合も結局のところ「セキュリティにこだわってるからVBA以外禁止」ってことだろ
このセキュリティに対する(無意味な)こだわりを捨てれば選択肢はいくらでもある
やっぱりこだわり故の自縄自縛だな
選択肢はあるけど放棄してるだけ

447:デフォルトの名無しさん
18/08/12 13:49:02.84 uH5mjHL8.net
ここのVBAの質問に答えてる人が事務員って事はないでしょ
異常に詳しすぎるよね
本職のプログラマーよりも詳しい
それか本職の人たちはチョロチョロと色んなプログラムに手を出すけどVBA一本だから極めたとか?

448:デフォルトの名無しさん
18/08/12 13:50:21.92 +KVVkWbV.net
趣味でやってる人の方が詳しいもんだよこの業界

449:デフォルトの名無しさん
18/08/12 13:59:48.32 G3Q4bI/2.net
>>426
世間でどんなに実績があろうが、インターネットからダウンロードしたソフトを
業務マシンに入れることはセキュリティポリシーで禁止されてるわけ
だけど現場は手作業を自動化して楽したいわけ
だけど利益を生まないシステム開発には経費が下りないわけ
だからExcelに内蔵されてるVBAでこっそりシコシコやるしかないわけ
そうでなけりゃこんな時代遅れで融通の利かない言語を使うものかと

450:デフォルトの名無しさん
18/08/12 14:00:42.95 THZQVPj8.net
>>423
ソースだけだったらテキストファイルなんだからOSSは大丈夫だ

451:デフォルトの名無しさん
18/08/12 14:01:32.73 2G7L+2Mx.net
>>431
お前の能力では使いこなせないだけだろ
馬鹿死ねよ

452:デフォルトの名無しさん
18/08/12 14:10:56.06 lJZ67VC6.net
>>431
「現場は手作業を自動化して楽したいわけ だけど利益を生まないシステム開発には経費が下りない」
プレゼン力が低すぎだろ、効率が上がればコストカットが出来、利益産むだろ

453:デフォルトの名無しさん
18/08/12 14:12:11.32 YMBuKX4y.net
セキュリティーポリシー
ポリシーってようするにこだわりじゃん?
世界中で安全に無料のOSS製品を運用して利益を出している実績があるのだから
VBA以外のすべてを禁止しなければセキュリティを確保できないというのは大嘘なわけだ
だったらなんで禁止するかっていうと「こだわり」でしかないんだよね
選択肢はあるけどへんなこだわりで放棄してるだけ

454:デフォルトの名無しさん
18/08/12 14:18:43.89 Ghi+Nx4b.net
他の言語のスレは山ほどあるのにVBAに拘ってるのほお前だろw

455:デフォルトの名無しさん
18/08/12 14:25:09.48 E6mj5Hz2.net
>>431
同感
ただこっそり作ったのを業務フローに組込んで来る奴は勘弁
一生面倒見てくれるなら構わんけど

456:デフォルトの名無しさん
18/08/12 14:34:45.54 +KVVkWbV.net
ジャップらしい文化だな

457:デフォルトの名無しさん
18/08/12 14:41:32.34 G3Q4bI/2.net
>>437
引継ぎが悩み
自分の後任がVBAを解さない人、あるいは努力して身に着ける気力のない人ならアウト
ただVBAは仕様が枯れていてExcelバージョン間の互換性が高いし、
書籍や情報も多いし、コードがブックと一体化して実行環境を成しているから何とかなると思ってる

458:デフォルトの名無しさん
18/08/12 14:42:58.75 RzbuUHfm.net
>>431
自分で使う+こっそりやっていい
なら
C#、VB.NET、PowerShell、vbs
でいいやろ

459:デフォルトの名無しさん
18/08/12 14:57:07.79 auWodvpS.net
他の言語スレは見てないけどさぁ、なんでこうも他の言語をアレコレ強制しようとするやつが多いんだよ、ここは。
Excelを使うならVBA使うのが自然だろ?Excelを他の言語からVBAと同等に動かすこと出来るんかよ
ほんとうぜぇな。いつまでC#がいいだのパワーシェルだの、あげくはRubyがどーたらこーたらとか言ってんだよ
雑談したいんだったらそういうスレにでも逝けよ、さみしがりやの僕ちゃん連中は

460:デフォルトの名無しさん
18/08/12 15:14:12.51 EncC8RvO.net
> Excelを使うならVBA使うのが自然だろ?
いいえ

461:デフォルトの名無しさん
18/08/12 15:29:44.44 Ghi+Nx4b.net
>>442
なら他のスレに行けばいいのにw

462:デフォルトの名無しさん
18/08/12 15:39:42.82 uP5xtaXw.net
>>411
入ってないな。
エディタはメモ帳だ。
プログラミングには興味あるが、プログラミングと言ってもいろいろあるだろ。
たぶん君とは方向性が違う。
それに仕事でVBAだけっていっても1つの案件が続いていけばそんなの普通だろ。
それ以外の言語は趣味でやればいい。
競争の頂点にいるような会社はリスクを取りたがらない。

463:デフォルトの名無しさん
18/08/12 15:43:05.47 uP5xtaXw.net
>>420
逆。
本部はベンダーに任せるから。
本部の人間は逆にVBAとかで組んでる。
勿論大規模ではない。
大規模なのは本部の人間は作ってはいけない。
ベンダーにやらせるからね。

464:デフォルトの名無しさん
18/08/12 15:48:35.76 uP5xtaXw.net
>>431
よく分かってるじゃん。
でも、やりようだからね。
結局。
使い勝手が良くなる手を打てなかった、もしくは打つ前にVBAを辞めたとも言える。

465:デフォルトの名無しさん
18/08/12 15:52:52.87 uP5xtaXw.net
>>441
一応、C#でのVSTOというものがあって、どうにも行き詰まった時にそれで突破できるかどうかぐらいは知っといても良いと思うよ。

466:デフォルトの名無しさん
18/08/12 15:54:48.73 uP5xtaXw.net
>>442
何も分かってない。
散々やり合って、Excel上で動かすという簡単なことが他言語では難しいことがはっきりしてる。

467:デフォルトの名無しさん
18/08/12 16:20:55.60 EncC8RvO.net
してない

468:デフォルトの名無しさん
18/08/12 16:32:57.41 +KVVkWbV.net


469:デフォルトの名無しさん
18/08/12 16:42:39.01 YMBuKX4y.net
日本がIT後進国になった理由を実感できるスレ

470:デフォルトの名無しさん
18/08/12 16:54:23.52 qQiXzzF2.net
全ての人間を満足させる方法なんてない。
ネット閲覧さえできずソフトもインストールできない環境の人はExcelとVBAで頑張れ。
インストール権限はないけどOSSのコピペならOKの人は自分に合ったライブラリをさがせ。
いろいろ導入できる人は好きなの使え。

471:デフォルトの名無しさん
18/08/12 16:58:06.19 pZvjUUz9.net
スレチだけどOSSなんか使わせてくれる会社あんの?
頭おかしいんじゃねえの

472:デフォルトの名無しさん
18/08/12 17:02:21.92 231D16m0.net
え?

473:デフォルトの名無しさん
18/08/12 17:06:12.31 foPG/4Nx.net
ギクッ

474:デフォルトの名無しさん
18/08/12 17:09:00.64 YMBuKX4y.net
>>452
ネットにも繋げない奴隷環境ならPowerShellのほうがいいぞ
部品の再利用性が高いから長引くほど有利
>>453
いままでで最高のジョーク

475:デフォルトの名無しさん
18/08/12 17:13:31.65 EkdmozDA.net
>>456
PowerShellはVBAの代わりにゃならん。
PowerShellも使うけど、役割が違う。

476:デフォルトの名無しさん
18/08/12 17:16:07.41 eDwYBbq+.net
>>426
>様々な企業や団体も採用してる無料のOSS製品
互換性の問題で、どっかの役所がこれをやめた
>>441
誰がどうみてもvbaは完全に時代遅れのウンコちゃんなんだよ
機能以前に、Cライクじゃないことがあまりにもウザすぎるんだよ
今主流の言語はほぼ全てCライクなのに、何で今更Bなの
せめて比較演算子だけでもお願いしますって感じだわ
>>445
あぁ、すまん変な言い方してしまった。作ってはいないね
業者とやり取りしているのが本部だ
>453
レンタルサーバーのphpはオープンソースだよねって反論したら知るかボケって返ってきたわ
その辺は規模にも寄るだろう

477:デフォルトの名無しさん
18/08/12 17:17:12.97 EkdmozDA.net
>>456
ジョークって程じゃない。
ああいう意見が出てもおかしくない。
会社によるんでしょ。

478:デフォルトの名無しさん
18/08/12 18:23:06.11 qQiXzzF2.net
VBAが使えてネット閲覧OKというまあ普通の環境においては
ネットからサンプルコードをコピペしてきて使うことも当然あるだろ?
ソースをまるごと持ってくるのと何も変わらんよね。



479:インストールという行為がなければ区別つかないんだし。



480:デフォルトの名無しさん
18/08/12 18:28:40.34 E/Yl+18H.net
そうか
ネットに繋がらない環境でプログラミングするって凄い事だね
コードのスペルとか全部記憶してるのか

481:デフォルトの名無しさん
18/08/12 18:39:35.81 +G+aLZZB.net
>>461
まぁ1年も使えばVBAはネットなしでもスラスラ書けるのは強み

482:デフォルトの名無しさん
18/08/12 18:45:45.36 eDwYBbq+.net
>461
死ぬほどめんどくせーよ
worksheetとworksheets、
cells(y,x)、cells(x,y)、cell(x,y)、
何十回間違えたか検討もつかない
あと、再計算のcalculate
ただ、このスペルさえ覚えば別にどってことないんだよね
onerrorや高速化周りはさすがにコピペだし
vbaの場合、全然発達してないからある意味ネット環境がなくてもいいって奇妙な強みがある

483:デフォルトの名無しさん
18/08/12 18:48:04.27 YMBuKX4y.net
>>462
VBAかんけいなくてわろた
>>461
なので開発環境のインテリセンスが優れている言語は強い
C#とPowerShellはいいね
VBAはご愁傷さまって感じ

484:デフォルトの名無しさん
18/08/12 20:17:48.27 EkdmozDA.net
>>460
サンプルコードコピペは有るけど完全に理解してる物に限るだろ。
ソース丸ごと持ってきて、それを全部読んで、全て自分の知識から既に分かってる内容ならOKだろう。
そうじゃないなら仕事で使うべきじゃない。
これ、最低限。
実際はキチンと検証やら必要だし、何かあった時、特に損害が出た時に君が賠償できるならOKだ。
普通は賠償出来ないからこれまた申請やらが必要だろうな。

485:デフォルトの名無しさん
18/08/12 20:23:11.69 +KVVkWbV.net
社畜心得

486:デフォルトの名無しさん
18/08/12 20:26:12.54 EkdmozDA.net
>>463
何か、間違えの内容がごく初心者のやらかす内容だな。
さすがに、そんな間違いはあり得んから全く面倒くさくないな。
後、初心者が良くやらかすのがいきなりCellsで書き出して、ブックやシートを省略する奴。
基本ブックから省略せずに書くからそういうミスもあり得ん。
当然Withを使うかSetを使う。

487:デフォルトの名無しさん
18/08/12 20:31:35.18 qQiXzzF2.net
>>465
おいおいw
OSS利用なんてあたり前だろう
それにバグなら自分のコードだって出るんだし

488:デフォルトの名無しさん
18/08/12 20:41:45.49 pXo7RZSL.net
>>468
自分のバグとコピペにバグじゃ違うだろ。
それにコピペの場合、悪意あるコ-ドが入ってて機密情報が流出したら、自分が意思をもって流出させようとしたのと変わらんと思うが。

489:デフォルトの名無しさん
18/08/12 20:47:30.42 qQiXzzF2.net
>>469
じゃあ使わなければいい
保険をかけることにもコストがかかり、リスクを取らないリスクがあるってことも忘れるなよ

490:デフォルトの名無しさん
18/08/12 20:49:14.70 eDwYBbq+.net
>467
もちろんsetを使っているよ
withは入れ子できないのが気持ち悪くてあんまり使わない
ってか、Cライク言語でしばらく書いた跡の等価演算子とifインデント辺りの方がめんどい
if (foo = bar) then
と書いた跡のカッコを消す何とも言えない気分

491:デフォルトの名無しさん
18/08/12 20:49:42.20 pXo7RZSL.net
勘違いしてるかもしれんが、君の会社がOSSに対してどういうスタンスを取ってるかによる。
コピペからソース丸ごと持ってきてOKと解釈する所が間違いな。
君の会社だったら客から賠償されるだろうけど君はお咎め無しだろう。

492:デフォルトの名無しさん
18/08/12 20:57:36.30 pXo7RZSL.net
>>471
それは複数言語を同時に使えばどんな言語でも起こるだろ。
SQLだってOracleとAccessとSQLServerでそういうことは起こる。

493:デフォルトの名無しさん
18/08/12 21:25:16.26 sFpP4hR5.net
>>471
> withは入れ子できないのが気持ち悪くてあんまり使わない
入れ子はできるだろ
ただ入れ子にすると外側にアクセスできないのが不便
Pythonみたいに別名を付けられればいいのに

494:デフォルトの名無しさん
18/08/12 21:54:05.73 E/Yl+18H.net
VisualStudioを入れれる環境ならVBAは使わない?
そーいうことでもない?

495:デフォルトの名無しさん
18/08/12 22:32:25.31 eDwYBbq+.net
>>473
SQLの方がキツイね
あと、正規表現。細かいルールまで覚えてないと普通に死ぬ
>>474
そういやできるね・・・うん、できるね・・・
>>475
そういうことでもない。VBAはエクセルの便利機能の一つ
VSからエクセルを触ることもできるけど、割と冗談抜きでめんどくさい。
一回やってみると方が良い。俺はかなり昔、二度とやらないと決めた。今は便利になってるかもしれないけど、そこまでは知らないなぁ

496:デフォルトの名無しさん
18/08/12 23:56:34.44 G3Q4bI/2.net
>>475
まず前提として、これは総務や営業の事務部門のねーちゃん・オッサンたちが
手元のPC作業を自動化したいという話だと思ってるんだけど・・・
そういう人らには、例えPCにVisualStudioが入っていたとしても、それでバリバリ
開発したり開発後のコードを管理・メンテしていくことは無理だろ?
んでこの手の社内システムの支援が行き届かない末端業務では
大抵のデータはExcelやAccessに入ってて、それを手操作で処理してるのが典型
よって手になじんだExcelやAccessのまんまVBA処理に移行するのが手っ取り早い
C#やPythonなどからExcelを動かす荒業もあるらしいけど、わざわざそうする理由がない

497:デフォルトの名無しさん
18/08/13 06:22:10.19 2dORgvS5.net
>>477
> 総務や営業の事務部門のねーちゃん・オッサンたち
が、VBA使えるという前提もどうかと思う

498:デフォルトの名無しさん
18/08/13 07:05:16.10 JKsq+WjD.net
 
畏(おそ)れ多くも森喜朗元帥閣下の有り難いお言葉:
 「オレはIT(いっと)のことはよく知らんがぁ
   時計をたった2時間早めるだけだろぉ?
  オレなら1分あれば済ませるぞぉ!
   サマータイムの何がそんなに難しいんだぁ?」
 
システム開発現場の勇ましい言葉:
 「畏れ多くも森元帥閣下のご下命を賜った以上
   現場SEは有り難いお言葉に勇気百倍
  デスマーチとバンザイ突撃を敢行いたします!」
  
 「マラソン選手さまが涼しい時間に走るためなら
   現場SEの千人や二千人死んでも本望です!
  私たちSEの生命など、虫けらと同じです!」
 
 「畏れ多くも森元帥閣下の有り難いご下命にしたがって
   最前線システム開発現場で殉職出来るとしたら
  現場SEとしてこれに勝る喜びはありません!」
 
日本という国では
 体育会系が一番偉い(森元帥閣下、田中理事長)
  文科系がその次で(財務省、教授会)
 理科系は最底辺の奴隷とされています(現場SE)
 

499:デフォルトの名無しさん
18/08/13 07:29:38.19 J9TEOhCW.net
>>478
ifとforとエクセル操作ならそんなに難しくない
前提として十分成立するレベル。
プログラミングで難しいのは環境の話。
で、環境はExcelなので事務屋は知ってる。
動くコード書くだけなら誰でもできる。

500:デフォルトの名無しさん
18/08/13 08:06:20.93 ultFGnC1.net
ネットつながってないならなにインストールしようが問題なくね?

501:デフォルトの名無しさん
18/08/13 08:28:37.19 wY5iWaZC.net
>>477
「ねーちゃん・オッサン」という言い方自体が印象操作だね。
部門部署はたくさんあるんだから。
「理系院卒のあんちゃん」と言ったら真逆の印象になるだろ?
まじめな話普通大学で少しはやってるだろ今どき。

502:デフォルトの名無しさん
18/08/13 08:43:35.15 2dORgvS5.net
>>482
総務、営業とかの事務職に就いてる
> 「理系院卒のあんちゃん」
ってどう見ても使えない奴だろ…
if, forなら簡単とか言うがそれはこんなスレを見てる奴らだから通じる話
わからん奴はとことんわからんし理解しようともしないよ

503:デフォルトの名無しさん
18/08/13 08:48:20.03 wY5iWaZC.net
>>483
「部門部署はたくさんあるんだから。」と書いてあるのにどうして総務と営業にこだわるのか。
俺にはさっぱりわからんね。

504:デフォルトの名無しさん
18/08/13 08:56:36.93 zRQUni3U.net
総務、営業、SEしかいない会社にいるからそれ以外の環境が想像つかないんだろ

505:デフォルトの名無しさん
18/08/13 08:58:43.54 FIAlujHy.net
>>481
ウィルスにかかればローカルサーバーのデータを消去・改ざんしつくすぞ

506:デフォルトの名無しさん
18/08/13 08:59:29.64 2dORgvS5.net
>>484
そう言うことは>>477に言ってくれよ…
いきなり前提変えて話しされても困る

507:デフォルトの名無しさん
18/08/13 09:05:14.44 G2gqSSs3.net
>>477を否定してるのに>>477の前提を変えられても困るって何の話?
日本語に弱い人かな?

508:デフォルトの名無しさん
18/08/13 09:39:52.63 2dORgvS5.net
前提変えて勝利宣言乙
これでいい? w

509:デフォルトの名無しさん
18/08/13 09:47:32.84 SL48Gldu.net
>>477
そういう利用目的なら
Excel・Accessからデータを吸い上げてデータ処理がカンタンな別言語で処理したほうがいい
わざわざそうする理由がない、というがそもそもエクセルのランタイム上でなんでもやろうとするほうが理由がない

510:デフォルトの名無しさん
18/08/13 18:16:02.39 0bLJ3vwb.net
VBA以外の言語が簡単に扱えるかどうかって大前提を無視し話をされてもなぁ

511:デフォルトの名無しさん
18/08/13 18:36:50.62 5JyLffZ3.net
>>491
お前が扱えないからって他の人も同じだと思うなよ

512:デフォルトの名無しさん
18/08/13 18:45:28.00 8SbgszM+.net
>>483
それすら理解できない人なら他の言語を勧めるのが間違いでしょうに。

513:デフォルトの名無しさん
18/08/13 18:56:24.13 2dORgvS5.net
>>493
そういう話をしてるけど?

514:デフォルトの名無しさん
18/08/13 19:17:06.71 G2gqSSs3.net
>>489
日本語に弱くて前提が変わって無いのに気づかないんだろうなw
しようがねえな。
まず>>477に対して君が 総務や営業の事務部門という前提で>>478を書いた。
しかし>>482は君にレスしたわけじゃない。
>>477に対して 総務や営業の事務部門という前提をも否定して部門部署はたくさんあると書いたんだろ。
>>482>>477の前提がおかしいぞと言ってるんだよ。

515:デフォルトの名無しさん
18/08/13 19:23:34.58 G2gqSSs3.net
>>482は最初から>>477の前提に立っていない。
むしろ>>477の前提を否定する発言だ。
だから>>482を否定したいなら>>482の前提に立って否定するか>>482と同じように>>482の前提自体を否定するしかない。

516:デフォルトの名無しさん
18/08/13 19:28:34.14 G2gqSSs3.net
しかし君は>>482>>477の前提に最初から立っていないということに気付いて無いから>>482の前提自体を否定するような発言も出来ないし、>>482の前提に立った上で反論するということも出来ない。
それで>>484や俺(>>488)が気付かせてあげようとしたんだが、まだ気付かないようだw

517:デフォルトの名無しさん
18/08/13 19:33:44.73 G2gqSSs3.net
プログラミング言語もさ、日本語と同じように言語なんだよな。
論理的に考えれば日本語だって理解出来る筈なんだよ。
まあ、論理的に考えられない人はプログラミングは向いて無いな。

518:デフォルトの名無しさん
18/08/13 19:36:11.96 2dORgvS5.net
>>495
印象操作とかぶち上げて指摘されたら部署ガーとか恥ずかしすぎるだろ w

519:デフォルトの名無しさん
18/08/13 19:39:59.63 J9TEOhCW.net
部門部署はたくさんある、の一言にここまで思いが込められていたことは俺もわからなかったよw

520:デフォルトの名無しさん
18/08/13 19:41:32.91 Nxc0x6KD.net
>>497
これだけアンカー付くと壮観だな
読む気になれんけど

521:デフォルトの名無しさん
18/08/13 19:50:53.27 G2gqSSs3.net
>>499
まだ分かってないw
>>482は一番最初から部署ガーと言ってる。
君が指摘する前からだw

522:デフォルトの名無しさん
18/08/13 19:53:30.97 G2gqSSs3.net
論理的な思考の出来ない奴が�


523:Oいな。 碌なプログラムも組めないと想像できる。



524:デフォルトの名無しさん
18/08/13 20:01:07.22 aNd06r20.net
横だが碌なプログラムって表現もおかしいぞ

525:デフォルトの名無しさん
18/08/13 20:05:36.20 G2gqSSs3.net
>>504
確かに、でも意思の疎通はできるでしょ。

526:デフォルトの名無しさん
18/08/13 20:10:08.14 2dORgvS5.net
>>500
どう見ても印象操作がメインだしな
まあ、指摘されて引っ込みつかなくなったから>>502-503みたいに話そらそうと必死なんだろ w

527:デフォルトの名無しさん
18/08/13 20:21:55.47 wY5iWaZC.net
しかしまあ>>485が言うみたいな「総務、営業、SEしかいない会社」ってのも無視できない割合で存在してるんだろうな。
総務がSEやったりとか。

528:デフォルトの名無しさん
18/08/13 20:28:11.20 Nxc0x6KD.net
確かにSEもいない会社も普通に多いか
そしたらVBAでも大活躍だしVisualStudioで自作アプリなんて作った来たらキモいな

529:デフォルトの名無しさん
18/08/13 20:36:20.55 wBJkicYb.net
>>504
形容動詞「ろくな」が名詞「プログラム」を修飾して
連体修飾語「ろくなプログラム」になってるわけで
「ろくな」はまともなという意味だから
まともなプログラムも組めないと言ってるわけで
表現としておかしいところはなにもないと思った

530:デフォルトの名無しさん
18/08/13 20:41:45.48 lA4o8DKj.net
プログラミングはそれなりにできるけど、ExcelでGUIを作ろうという場合に参考になる書籍やサイトってない?
例えば、VBScriptからExcelをCOMで呼び出してのバッチ処理などは全然できる。
だから初歩的な分岐だとかループだとかは要らんわけで。
ざっと調べるとフォームとイベントが捌ければ何とかなりそうな気がする…んだけど何やればいいのか…

531:デフォルトの名無しさん
18/08/13 20:45:37.57 h5xj3US4.net
GUIならC#でもやんなよ
ExcelなんざCOMで呼び出しゃいいんだよ

532:デフォルトの名無しさん
18/08/13 20:55:29.74 lA4o8DKj.net
Amazonで見たところ、
「アプリ作成で学ぶExcelVBAプログラミングユーザーフォーム&コントロール」
とか、
「小さな会社のExcel VBA業務自動化アプリケーション作成・運用ガイド」
とかかなぁと思うけどレビューがあんま参考にならん…
>>511
「俺の、俺による、俺のためのアプリ」ならExcelなんか使わないよ。
「会社の皆が使うちょっとしたアプリ」なら、なるべく金かけず維持・メンテ・引継ぎしやすいものを選ぶのは当たり前。
HTAやPowerShell+WPFや.NETなんか使ったら一生メンテさせられるっての。

533:デフォルトの名無しさん
18/08/13 21:01:25.25 FIAlujHy.net
>>510
書籍は見たこと無い
・excel フォーム デザイン
・windowsアプリ GUI デザイン
この辺りで検索すればそれなりに出てくるんじゃないか
もしくはシートをそのままGUIとする
mainシートに出力
settingシートに設定
inputには何かしらのデータ
俺はいつもこんな感じの構成

534:デフォルトの名無しさん
18/08/13 21:04:43.90 7g9HiHc/.net
自分がいる間動けば十分じゃないの
みんなで共有しないといけないやつならしゃーないけど

535:デフォルトの名無しさん
18/08/13 21:11:44.08 G2gqSSs3.net
>>506
メインw
あのね、>>482は「部門部署はたくさんある」という前提に立って「印象操作」と言ってるんであって、>>477に対して2つをバラバラに言ってるわけじゃ無いんだよ。
「ねーちゃん・オッサン」という印象操作して事務部門限定のように言ってるけど、実際は部門部署はたくさんあるという意味だろう。
悔しくて仕方ないかもしれんが今さら挽回は無理だな。

536:デフォルトの名無しさん
18/08/13 21:29:13.87 yoEa1bdZ.net
>>474
>ExcelなんざCOMで呼び出しゃいいんだよ
C#でExcel使ったことねーだろ

537:デフォルトの名無しさん
18/08/13 21:30:17.15 wBJkicYb.net
C#でもCOM呼び出すでしょうに

538:デフォルトの名無しさん
18/08/13 21:30:43.45 wBJkicYb.net
ラッパだろうけど

539:デフォルトの名無しさん
18/08/13 21:43:57.21 lA4o8DKj.net
>>513
どうも。手探りでやるしかないみたいねぇ…
>>514
だ・か・ら・さ。
簡易なVBScriptでもメンテが要るんだよ。VBScriptだからGUIがショボくて、例えば「〇〇課の職員」たらのメンテが不便だからな。
作ってもらえるだけでもありがたいはずなのに、プログラムが書けない連中は「職員が入ったから直して」「機能追加して」と平気で言うわけ。
たまに「スマホアプリにして」とか言うゴミもいるんだぜ?
俺はとりあえずExcelでそこそこのインターフェイスで作っといてリリースして放置したいわけ。
何か言われたら「Excelが得意」と周りに吹聴している馬鹿にやらせればいい。
「君の得意なExcelで作ったんだよ?できるんでしょ?」てね。

540:デフォルトの名無しさん
18/08/13 21:51:12.63 h5xj3US4.net
どうしてもVBAでGUIというなら図書館でVB6辺りの書籍を探してきた方がいいぞ
腐る程あるはず

541:デフォルトの名無しさん
18/08/13 21:53:09.72 iaB0L5Gv.net
>>519
引き継ぎもまともにできないただの自己顕示欲丸出しのキチガイじゃねーか

542:デフォルトの名無しさん
18/08/13 22:14:11.12 SL48Gldu.net
>>512
>なるべく金かけず維持・メンテ・引継ぎしやすいものを選ぶ
それでVBAという答えはないわ

543:デフォルトの名無しさん
18/08/13 22:19:05.95 wY5iWaZC.net
現実問題、ツールの引き継ぎなんてものが本当に発生するのか疑問だ。
ツールなしで手作業でやってたらどうするのさ?
後任者には仕事の仕様だけ教えて1から使ってもらうのが正しいんじゃないのか。

544:デフォルトの名無しさん
18/08/13 22:21:49.65 wBJkicYb.net
VBAは良いと思うけどね
MS Officeは使ってること多いし

545:デフォルトの名無しさん
18/08/13 22:22:04.47 SL48Gldu.net
>>519
要望がうざいならリリースしなきゃいい
つうか他人のボランティア前提でリリースしてんのかよ
こういう人がいるから社内統制で野良マクロ禁止にする会社が出てくるのかね

546:デフォルトの名無しさん
18/08/13 22:22:44.45 wBJkicYb.net
まあまあ、そう悪いように解釈するのをやめなさいな

547:デフォルトの名無しさん
18/08/13 22:24:57.49 712/1HlP.net
>>522
じゃあ君の答えとやらをきいておこうか

548:デフォルトの名無しさん
18/08/13 22:48:41.94 SL48Gldu.net
>>527
C#でもJavaでもPythonでもGoでもなんでもいいけどね
世界中で生産性・保守性が高いと認められて採用実績の多い道具を使う

549:デフォルトの名無しさん
18/08/13 22:50:41.41 2dORgvS5.net
>>515
そもそも>>477は総務、営業とかの事務部門の話ししてるだけで他の部門の話なんてしてない
他の部門がどうあれ総務、営業の事務部門の話が変わるわけじゃない
他の部門の話をしたいなら勝手にやっててくれ
> 悔しくて仕方ないかもしれんが今さら挽回は無理だな。
でかいブーメラン刺さってるぞ w

550:デフォルトの名無しさん
18/08/13 22:52:19.35 2dORgvS5.net
>>516
アンカーぐらいまともに打てよ…

551:デフォルトの名無しさん
18/08/13 23:11:52.41 Yid0Gj7C.net
>>528
あんた何もわかってないなあ
システム部門の支援を受けられず、オプソを入れることも許されず、
VisualStudioを買う予算も下りない
そんな事務部門が、シコシコと手作業でやってるExcel処理を
何とか自動化したいって話題だぜ?
どこからC#やJavaなんてものが出てくるんだよ

552:デフォルトの名無しさん
18/08/13 23:40:25.56 J9TEOhCW.net
>>515
お前のレスは悔しさが滲み出てるんですけどw

553:デフォルトの名無しさん
18/08/13 23:49:52.57 FIAlujHy.net
ってかどんなマクロ想像してるの?
俺の中ではこんなレベルなんだけど
A1セルの値がvlookupのキーになっていて、
それを連番で変える→印刷
の繰り返し
こんな程度でも総務にはバカウケだぞ
Sub Macro1()
'
' Macro1 Macro
'
For i = 1 To 10
cells(1,1).value = i
calculate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Next
MsgBox "完了~~~!"
End Sub

554:デフォルトの名無しさん
18/08/13 23:50:36.42 FIAlujHy.net
ちなみに
MsgBox "完了~~~!"
これは実際に見たコード。俺のセンスじゃないぞ

555:デフォルトの名無しさん
18/08/13 23:53:07.84 yUNLe23N.net
過去に既出かもしれないが相談させてほしい
ExcelにPDF内のテキストを取り込んで別工程の作業指示書作成を自動化出来ないかと相談された
取り敢えず「希望のコスト・納期では不可能」と切り捨てておいたが、個人的に興味は沸いたので手持ちのPDFをいくつか見たところFlateDecodeなるもので圧縮されている模様
会社のPCはセキュリティ上の制約で外部のdll(zlib.dllとか)を追加出来ないのだが、FlateDecodeの圧縮ストリームを展開してExcelに取り込む手段ないかな?

556:デフォルトの名無しさん
18/08/13 23:55:07.23 SL48Gldu.net
>>531
ほかと比べたら敗色濃厚だからそうやって条件つけて逃げるしかないよな
よほど頑固な会社か交渉力ゼロの無能でもなきゃMS公式のVSCodeとdotnet-sdkぐらいすぐOKでるし
全部NGなんてレアケースで比べる意味ねえよ?
まあ仮に禁止したところでVBAよりはるかに便利なPowerShellもC#もカンタンに使えるんだけどな

557:デフォルトの名無しさん
18/08/14 00:06:03.69 n9VvPXNA.net
>>531
誰もそこまで限定してないと思うよ。
制約がキツい極端から制約がユルい極端までいろんな環境があると思うが、
あんたのは「制約が一番キツい環境を前提にして話せ」という主張に見える。
それはさすがに同意を得られないってことだ。

558:デフォルトの名無しさん
18/08/14 00:06:17.05 5GU0qsYr.net
>>535
URLリンク(msdn.microsoft.com)(v=vs.110).aspx


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch