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
559:デフォルトの名無しさん
18/08/14 00:06:22.66 nfaXmVxR.net
エクセルの処理を自動化するならVBAが最適でしょうに
560:デフォルトの名無しさん
18/08/14 00:08:27.40 nfaXmVxR.net
普通に同意できるけどね
むしろ他の言語でやろうとするのはおかしいと思う
561:デフォルトの名無しさん
18/08/14 00:10:00.63 nfaXmVxR.net
Goが生産性高いからとかやばいでしょ
562:デフォルトの名無しさん
18/08/14 00:13:13.65 UeTN7rkw.net
VS眺めてみたら、普通にC#でエクセルアドイン作れるのな
これぐらい楽なら有りかも?
563:デフォルトの名無しさん
18/08/14 00:19:55.01 5GU0qsYr.net
業務の大半はExcelに依存しないので言語もExcelに依存しない使いやすいものを使えばいい
564:デフォルトの名無しさん
18/08/14 00:27:30.30 UeTN7rkw.net
>業務の大半はExcelに依存しないので
>言語もExcelに依存しない使いやすいものを使えばいい
ゆでたまご理論かな?
565:デフォルトの名無しさん
18/08/14 03:43:38.12 6NKcX7Ow.net
5ch ブラウザみたいに、スレに書き込んである画像のURL を、
自動的に、<img> に展開して表示するものを自作している
Ruby で、Selenium WebDriver を使って、Nokogiri で、DOM を構築して、
JavaScript(JS) を使って、そのDOMで、body 以下を更新しようとしている
わざわざ、Sinatra, Vue.js などを使うまでもない。
標準添付ライブラリのERB は、使っても良いかも
Ruby での表示には、Selenium WebDriver で、ブラウザを操作して使っている
566:デフォルトの名無しさん
18/08/14 05:59:12.23 IYCmiTRH.net
>>545
おいおまえ、Selenium WebDriverでエクセルの自動化をできるか?
567:デフォルトの名無しさん
18/08/14 06:15:13.42 5GU0qsYr.net
>>546
???
568:デフォルトの名無しさん
18/08/14 06:35:25.29 IYCmiTRH.net
>>547
Selenium WebDriverを使って
エクセルの自動化をできますか?
と聞いてるんです
569:デフォルトの名無しさん
18/08/14 06:52:47.31 5GU0qsYr.net
>>548
???
570:デフォルトの名無しさん
18/08/14 06:59:46.51 IYCmiTRH.net
>>549
S e l e n i u m W e b D r i v e r を 使 っ て
エ ク セ ル の 自 動 化 を で き ま す か ?
571:デフォルトの名無しさん
18/08/14 07:00:21.04 IYCmiTRH.net
なんでわからないんだろ
572:デフォルトの名無しさん
18/08/14 07:06:31.74 KIUgAfbf.net
あれは壮大なスレチなのでスルー
573:デフォルトの名無しさん
18/08/14 07:06:49.00 7g7tSC0n.net
聞き方が悪いんじゃね?
574:デフォルトの名無しさん
18/08/14 07:08:04.15 IYCmiTRH.net
>>553
S e l e n i u m W e b D r i v e r を 使 っ て
エ ク セ ル の 自 動 化 を で き ま す か ?
こうですか?わかりません
575:デフォルトの名無しさん
18/08/14 07:08:55.18 IYCmiTRH.net
Selenium WebDriverを使って
エクセルの自動化をできるか聞きたいのですが
どう聞けばいいでしょうか?
576:デフォルトの名無しさん
18/08/14 07:36:51.87 z2MeDRaG.net
↑この人もしかしてカキコミスのレスにめちゃくちゃ食いついちゃったってこと?
そしてそれに気が付いてない?
577:デフォルトの名無しさん
18/08/14 07:38:14.66 IYCmiTRH.net
純粋な疑問としてSelenium WebDriverを使って
エクセルの自動化をできるか聞きたいのですが
578:デフォルトの名無しさん
18/08/14 07:38:38.70 IYCmiTRH.net
できるんですか? できないんですか? はっきりしてください!
579:デフォルトの名無しさん
18/08/14 07:47:59.49 9xPZi6uk.net
>>529
バーカw
だから>>482は>>477を否定していると何度言っても分からない。
他の部門の話(>>482)に噛みついたのはお前。
580:デフォルトの名無しさん
18/08/14 07:50:58.08 9xPZi6uk.net
>>532
論理的に明らかに相手が間違ってる場合、悔しいとは感じないだろ。
ピエロを面白がってるだけだな。
581:デフォルトの名無しさん
18/08/14 07:57:41.73 9xPZi6uk.net
RubyもSelenium Web Driverも使えるけどどっちも会社じゃ入れられ無いけどな。
交渉とかバカが言ってるがVBAで同じことが十分出来るのに何で交渉しなきゃならんのだ?
交渉するのはどうにもならなくなってからだ。
582:デフォルトの名無しさん
18/08/14 08:35:17.68 1ZcqdWcx.net
誤爆に噛み付いてなんだこいつ
583:デフォルトの名無しさん
18/08/14 08:35:41.90 z2MeDRaG.net
楽にできるように動いてどうしてもダメだったらあるものでやるってのが常識的で賢い判断
最初から金と労力をかける方向に進もうとするとはもしかしてビジネスを知らん人かな?公務員?
それと他がダメだったとしてもpowershellとC#で解決したほうが楽
584:デフォルトの名無しさん
18/08/14 08:41:25.34 9xPZi6uk.net
>>563
だからVBAじゃないと使う人が不便な場合が多いと何度書いたら・・・
Excel上からプログラム動かすのがVBAで組む場合の通常。
それにブック1つで完結出来ないのもダメダメだ。
585:デフォルトの名無しさん
18/08/14 08:44:30.97 vNNJJh8I.net
作ったコードから、モジュール/クラス/フォーム一覧と、使われている変数、関数(引数/返り値付)の一覧も表示してくれるツールはありませんか?
それを作ってくれるコードでもいいけど。
コードを書いてるエディターのWindowsのコード自体を取得する関数ってあるかな?
なければ自分でコピペしてそれを引数に自作関数に代入かな?
586:デフォルトの名無しさん
18/08/14 08:45:16.22 vNNJJh8I.net
いわゆるJavadocみたいな。
587:デフォルトの名無しさん
18/08/14 08:46:39.54 vNNJJh8I.net
URLリンク(ja.wikipedia.org)より
Javadocとは、サン・マイクロシステムズが開発したコンピュータソフトで、JavaのソースコードからHTML形式のAPI仕様書を生成するものである。
JavadocはJavaクラスの仕様書の標準の書式であり、「多くのIDEは自動的にJavadoc HTMLを生成する機能を備えている。」
なお、HTML形式は標準の書式であり、カスタマイズにより変更可能である。
--------------------------------------------------------------------------
「多くのIDEは自動的にJavadoc HTMLを生成する機能を備えている。」らしいですよ。
588:デフォルトの名無しさん
18/08/14 08:50:21.80 i5ysOntH.net
>>563
総務のおねーちゃんにPowerShellとC#で開発しろって言うのか?
てか、なんでVBAのスレで他言語推しするんだよお前は
589:デフォルトの名無しさん
18/08/14 08:54:02.58 vLkntRUX.net
C#がもっと使い勝手いいExcelのライブラリあればいいんだがなぁ
590:デフォルトの名無しさん
18/08/14 08:55:00.65 TB9AjC50.net
>>559
否定?
他にあるというだけで否定にはなってないんだが w
論理的思考能力がないのかな?
591:デフォルトの名無しさん
18/08/14 08:56:19.05 TB9AjC50.net
>>560
> 論理的に明らかに相手が間違ってる場合
ブーメラン過ぎる w
笑い取ろうとしてるのか?
592:デフォルトの名無しさん
18/08/14 08:57:45.09 9xPZi6uk.net
>>565
今、通勤中でコード書けないけどApplication.VBEを弄れば出来る。
そんなに苦労はしない。
ただ、VBEを弄るのはセキュリティ的に勧めないし、Excelの場合はデフォルトでは弄れないようになっている。
593:デフォルトの名無しさん
18/08/14 09:00:45.63 TB9AjC50.net
>>565
URLリンク(www.hotdocument.net)
594:デフォルトの名無しさん
18/08/14 09:01:03.44 9xPZi6uk.net
>>570
駄目だこりゃ、論理など全く無いようだ。
>>477は他に無いという立場で書いてる。
だから他にあれば否定している。
>>482は他にあると言ってるから前提を変えていない。
最初から前提に立ってない。
小学生からやり直したら?
595:デフォルトの名無しさん
18/08/14 10:55:45.58 rExPS0w4.net
>>555
「毛細血管が一杯詰まってるとこ脇!」と言う所が聞き取り辛いんです
596:デフォルトの名無しさん
18/08/14 10:58:56.44 TB9AjC50.net
>>574
> >>477は他に無いという立場で書いてる。
どこをどう読んだらそんなアホな解釈できるんだ? w
> 小学生からやり直したら?
お前がな
597:デフォルトの名無しさん
18/08/14 11:45:11.94 n9VvPXNA.net
まあまあ。
>>477はさ、自分だけの前提として「総務や営業の事務部門のねーちゃん・オッサンたち」の話をすればよかったんだよ。
それをこのスレ全体の前提事項にしようとしてるじゃん?
そのあとそこから敷衍して
「この手の社内システムの支援が行き届かない末端業務では ・・・が典型 」
なんて一般化したことを言ってるわけじゃん。
これでは「そんな前提には乗っかれないよ」という反論が出てくるのもしょうがないよね。