ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part52
http://mevius.5ch.net/test/read.cgi/tech/1517052305/
Excel VBA 質問スレ Part53
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/04/27(金) 19:02:38.39ID:+ocy8bIv463デフォルトの名無しさん
2018/05/04(金) 21:24:06.91ID:+QSKZiq4464デフォルトの名無しさん
2018/05/04(金) 21:28:25.18ID:+QSKZiq4465デフォルトの名無しさん
2018/05/04(金) 21:31:31.13ID:+QSKZiq4 >>460
.NETなら言語としてはかなりマシになるんだけどそうしなかったのはVBA使ってた利用者がついてこれるかが疑問だったのかもな
.NETなら言語としてはかなりマシになるんだけどそうしなかったのはVBA使ってた利用者がついてこれるかが疑問だったのかもな
466デフォルトの名無しさん
2018/05/04(金) 22:17:13.18ID:qxasih/r >>465
それもあるかも知れないけど
別に.Netのようにデカいシステムを作る訳じゃないからそのように発展する必要も無かったんだよ。
だからVBAをやってる人達は
モデルどころかクラスやポリモーフィズムを知らない人も多い。
でも仕方ないよね。それが通用する世界なんだから。
まぁ逆に言えばそれだけ間口の広い言語で
比較的誰でも作り易い言語というのも確か。
そんな世界にやって来て荒らすようなことばかり言ってれば
周りから排除されるようなこと言われるのも当然と言えば当然だよね。
それもあるかも知れないけど
別に.Netのようにデカいシステムを作る訳じゃないからそのように発展する必要も無かったんだよ。
だからVBAをやってる人達は
モデルどころかクラスやポリモーフィズムを知らない人も多い。
でも仕方ないよね。それが通用する世界なんだから。
まぁ逆に言えばそれだけ間口の広い言語で
比較的誰でも作り易い言語というのも確か。
そんな世界にやって来て荒らすようなことばかり言ってれば
周りから排除されるようなこと言われるのも当然と言えば当然だよね。
467デフォルトの名無しさん
2018/05/04(金) 22:45:53.35ID:neB5oFyO まだプロさんごっこしとるのかこのバカ達はw
いい加減にしろ低能ども
いい加減にしろ低能ども
468デフォルトの名無しさん
2018/05/04(金) 22:52:24.73ID:ogBK84PN >>466
じゃあちょっとフェルミ推定でもしてみるか
デスクワーク主体の仕事をしている非IT系の人を母数として
日常的にOfficeソフトに触れている 80%
うちVBAをやってる 10% (累計 8.0%)
〃分析・設計を意識してる 30% (累計 2.4%)
〃クラスを知ってる 90% (累計 2.16%)
〃ポリモーフィズムを知ってる 20% (累計 0.43%)
これがIT系となるとOfficeソフトに関わるかどうか関係なくほぼ全員が
クラスやポリモーフィズムを知ってると言えるだろうか。
じゃあちょっとフェルミ推定でもしてみるか
デスクワーク主体の仕事をしている非IT系の人を母数として
日常的にOfficeソフトに触れている 80%
うちVBAをやってる 10% (累計 8.0%)
〃分析・設計を意識してる 30% (累計 2.4%)
〃クラスを知ってる 90% (累計 2.16%)
〃ポリモーフィズムを知ってる 20% (累計 0.43%)
これがIT系となるとOfficeソフトに関わるかどうか関係なくほぼ全員が
クラスやポリモーフィズムを知ってると言えるだろうか。
469デフォルトの名無しさん
2018/05/04(金) 23:02:46.28ID:FNYKVu0a470デフォルトの名無しさん
2018/05/04(金) 23:33:40.69ID:PShZiAFS >>452
え?
マジで言ってる?
C#もるびーも後からインストールしないとできないよ?
唯一powershellだけ使えるけど、Excel操作だけに特化した場合、VBAと比べてどれほど優位性があるのか。
何でもかんでも勝手にインストールできる会社ばかりじゃないし、VBAユーザーがエンジニアだけじゃなく事務職とか他の職種にも多いとかそう言う話も含めての流れだと思ったけど、日本語読めないバカには分からんかw
だからVBAでシステム組むとかあほな話に展開するんだねw
え?
マジで言ってる?
C#もるびーも後からインストールしないとできないよ?
唯一powershellだけ使えるけど、Excel操作だけに特化した場合、VBAと比べてどれほど優位性があるのか。
何でもかんでも勝手にインストールできる会社ばかりじゃないし、VBAユーザーがエンジニアだけじゃなく事務職とか他の職種にも多いとかそう言う話も含めての流れだと思ったけど、日本語読めないバカには分からんかw
だからVBAでシステム組むとかあほな話に展開するんだねw
471デフォルトの名無しさん
2018/05/05(土) 00:06:46.22ID:BI5aBgXm472デフォルトの名無しさん
2018/05/05(土) 00:08:18.78ID:BI5aBgXm473デフォルトの名無しさん
2018/05/05(土) 00:47:39.94ID:yoXg86RX >>470
無知ってこわいね
無知ってこわいね
474デフォルトの名無しさん
2018/05/05(土) 00:49:14.66ID:cuzWr0GO >>468
少なくても話の主体になっている.Netを使っている人ならほぼ全員がクラスくらいは知ってるよ
何せObject指向言語だから基本になってるそれを知らないと話にならない。
でもね、そんなことはどうでもいいんだ
ここはVBAのスレなんだから。
知ってれば使えばいいし
知らなくても知らないなりのものが組める。
こういう例え方して分かるかどうか微妙だとは思うけど
構造化言語であるVBAでGoto文はなるべく使わない方がいい。
エラーのハンドリングなど特例はあるものの、
構造化の考え方を崩しかねないものだから。
それをアセンブラのスレに行って
VBAのGoto文に当るジャンプ命令はなるべく使わない方がいい。構造化の考え方を崩しかねない。
なんて言ったら当然のように猛反発を食らうことになる。
つまり畑違いのところに行って自分の考えを
押し付けようと言うのはナンセンスということ。
VBAは元々初心者は初心者なりの、
上級者は上級者なりのものが組める間口の広さも
利点のひとつなのだから
押し付けたいのなら自分の畑に戻って勝手にやればいい。
少なくても話の主体になっている.Netを使っている人ならほぼ全員がクラスくらいは知ってるよ
何せObject指向言語だから基本になってるそれを知らないと話にならない。
でもね、そんなことはどうでもいいんだ
ここはVBAのスレなんだから。
知ってれば使えばいいし
知らなくても知らないなりのものが組める。
こういう例え方して分かるかどうか微妙だとは思うけど
構造化言語であるVBAでGoto文はなるべく使わない方がいい。
エラーのハンドリングなど特例はあるものの、
構造化の考え方を崩しかねないものだから。
それをアセンブラのスレに行って
VBAのGoto文に当るジャンプ命令はなるべく使わない方がいい。構造化の考え方を崩しかねない。
なんて言ったら当然のように猛反発を食らうことになる。
つまり畑違いのところに行って自分の考えを
押し付けようと言うのはナンセンスということ。
VBAは元々初心者は初心者なりの、
上級者は上級者なりのものが組める間口の広さも
利点のひとつなのだから
押し付けたいのなら自分の畑に戻って勝手にやればいい。
475デフォルトの名無しさん
2018/05/05(土) 01:15:45.29ID:oZF5wUOA 喩えが的外れ
アセンブラスレでリッチなUWPアプリ作りたいです!という質問にC#使えみたいな極めて正しい回答をしてるだけだ
それにVBAが窓口広いとか冗談だろ
決まり事なので以外に説明しにくい洗練されてない言語仕様で初心者向けとは口が裂けても言えないし
上級者に対して窓口開くならVB.netになって出直してこいとしか
アセンブラスレでリッチなUWPアプリ作りたいです!という質問にC#使えみたいな極めて正しい回答をしてるだけだ
それにVBAが窓口広いとか冗談だろ
決まり事なので以外に説明しにくい洗練されてない言語仕様で初心者向けとは口が裂けても言えないし
上級者に対して窓口開くならVB.netになって出直してこいとしか
476デフォルトの名無しさん
2018/05/05(土) 01:50:59.03ID:cuzWr0GO >>475
アセンブラでUWP?
何か勘違いしてないか?
通常UWPを触れるのはIl、Windows間との中間言語であって厳密にはアセンブラとはまた別物だ。
VB.Netだって未だにGoSubなんて過去の負の遺産が残ってたり
Formを生成させなければ使えなかったものが
難し過ぎると受け取られて生成しなくても
暗黙のインスタンスが出来るようになったり
右往左往している部分がある。
ましてやVBAは元々古い言語なのだから
そんなことは有って当たり前。
C#が洗練された言語なのは分かるが
元々デカいシステムの保守やひとつのシステムに
複数人が掛かって作成されることまで考慮された言語だ。
最初からそういうものを目指して作っていくのなら
その意見は正しいとは思うが
VBAはそこまでの保守性も求めないものや
ましてや一度に一つのEXCELに対して複数人がVBAで開発を行うシュチュエーションなどそうそうない。
だからそこまでの知識も要らないし
初心者でも手軽に作ることが出来る。
知識があるものはそれを使って作って行けばいいが
押し付けるものではない。
畑違いの人はまず一般的に言われているシステムと
VBAで作るツールの違いを理解して頂かないと
話が噛み合うはずもない。
アセンブラでUWP?
何か勘違いしてないか?
通常UWPを触れるのはIl、Windows間との中間言語であって厳密にはアセンブラとはまた別物だ。
VB.Netだって未だにGoSubなんて過去の負の遺産が残ってたり
Formを生成させなければ使えなかったものが
難し過ぎると受け取られて生成しなくても
暗黙のインスタンスが出来るようになったり
右往左往している部分がある。
ましてやVBAは元々古い言語なのだから
そんなことは有って当たり前。
C#が洗練された言語なのは分かるが
元々デカいシステムの保守やひとつのシステムに
複数人が掛かって作成されることまで考慮された言語だ。
最初からそういうものを目指して作っていくのなら
その意見は正しいとは思うが
VBAはそこまでの保守性も求めないものや
ましてや一度に一つのEXCELに対して複数人がVBAで開発を行うシュチュエーションなどそうそうない。
だからそこまでの知識も要らないし
初心者でも手軽に作ることが出来る。
知識があるものはそれを使って作って行けばいいが
押し付けるものではない。
畑違いの人はまず一般的に言われているシステムと
VBAで作るツールの違いを理解して頂かないと
話が噛み合うはずもない。
477デフォルトの名無しさん
2018/05/05(土) 01:55:17.65ID:TT2h6sAS だめだ話が通じねえ
478デフォルトの名無しさん
2018/05/05(土) 05:23:12.41ID:N9S74U1A479デフォルトの名無しさん
2018/05/05(土) 05:32:00.27ID:N9S74U1A480デフォルトの名無しさん
2018/05/05(土) 05:33:54.91ID:N9S74U1A >>469
さすがにこの文脈でVB.NETのことを指してると思えないアホがいるとは恐れいったわ w
さすがにこの文脈でVB.NETのことを指してると思えないアホがいるとは恐れいったわ w
481デフォルトの名無しさん
2018/05/05(土) 06:14:16.66ID:iSLee/LC ID:N9S74U1A
後付けの言い訳ばっかの馬鹿
後付けの言い訳ばっかの馬鹿
482デフォルトの名無しさん
2018/05/05(土) 06:38:33.56ID:N9S74U1A >>466
お前さんの見てる世界が狭いだけじゃね?
業務システムの一部としてExcel使ってる例はごまんとある
あとVB.NETだからと言って無理にポリモーフィズムなんて使わなくてもいい
リストとかハッシュとか便利な.NETライブラリだけ使うとかでもいい
お前さんの見てる世界が狭いだけじゃね?
業務システムの一部としてExcel使ってる例はごまんとある
あとVB.NETだからと言って無理にポリモーフィズムなんて使わなくてもいい
リストとかハッシュとか便利な.NETライブラリだけ使うとかでもいい
483デフォルトの名無しさん
2018/05/05(土) 06:49:20.44ID:II6m7tZa まぁ要するに「複数の言語使える僕ちゃんスゴイ」を言われたくてやってんだろうけど
仕事だろうが趣味だろうがプログラムやってりゃ複数の言語使えるようになるのが普通なんで
どっかの現場でVBAすらまともに扱えないヤツを相手にするならともかく
色んな人間が書き込む場所でやったって満足できる結果にはならんわな
仕事だろうが趣味だろうがプログラムやってりゃ複数の言語使えるようになるのが普通なんで
どっかの現場でVBAすらまともに扱えないヤツを相手にするならともかく
色んな人間が書き込む場所でやったって満足できる結果にはならんわな
484デフォルトの名無しさん
2018/05/05(土) 07:28:20.54ID:BfpDb3xn >>479
C#をメモ帳で書くのか?スゴイねw
C#をメモ帳で書くのか?スゴイねw
485デフォルトの名無しさん
2018/05/05(土) 07:33:52.33ID:BfpDb3xn486デフォルトの名無しさん
2018/05/05(土) 08:25:06.82ID:cuzWr0GO >>483
前何かVBAで格闘ゲーム作ってる人のヒットマーク位置の質問してた人に
「〜が出来る僕ちゃんスゲーって言われたいんだろ」って言ってた人か。
VBAは色んな状況や立場の人が使ってるから
別に自分の知らないことを知ってるからって不思議でも偉くとも何ともないけど
それを妬むのはよくないと思うよ。
前何かVBAで格闘ゲーム作ってる人のヒットマーク位置の質問してた人に
「〜が出来る僕ちゃんスゲーって言われたいんだろ」って言ってた人か。
VBAは色んな状況や立場の人が使ってるから
別に自分の知らないことを知ってるからって不思議でも偉くとも何ともないけど
それを妬むのはよくないと思うよ。
487デフォルトの名無しさん
2018/05/05(土) 08:36:30.03ID:cuzWr0GO >>484
これは冗談みたいな話だけど以前C#をメモ帳で書いたことがある。
.NetFreamworkが入っててVisualStudioが入ってない環境で
VisualStuduoインストールの申請が降りるまで少し時間が有ったのでそれまで
ビジネスロジック部をメモ帳で書いてた。
一応コンパイルも出来るし実行も出来るけど
インテリセンスの全く効かない状況でやるのは
結構辛かった記憶があるわ。
これは冗談みたいな話だけど以前C#をメモ帳で書いたことがある。
.NetFreamworkが入っててVisualStudioが入ってない環境で
VisualStuduoインストールの申請が降りるまで少し時間が有ったのでそれまで
ビジネスロジック部をメモ帳で書いてた。
一応コンパイルも出来るし実行も出来るけど
インテリセンスの全く効かない状況でやるのは
結構辛かった記憶があるわ。
488デフォルトの名無しさん
2018/05/05(土) 08:40:14.96ID:N9S74U1A >>484
別にたいしたことではないと思うがお前にはスゴいことに思えるんだろうな w
別にたいしたことではないと思うがお前にはスゴいことに思えるんだろうな w
489デフォルトの名無しさん
2018/05/05(土) 08:43:38.96ID:N9S74U1A490デフォルトの名無しさん
2018/05/05(土) 08:44:54.66ID:N9S74U1A491デフォルトの名無しさん
2018/05/05(土) 08:53:03.82ID:II6m7tZa 「全てをムリヤリ使う必要はない。便利だと思う部分だけを使えばいい」と言いつつ
「世界はVBAだけじゃない!他にもっと言語はあるからムリヤリ使え!」と言い出す矛盾
「世界はVBAだけじゃない!他にもっと言語はあるからムリヤリ使え!」と言い出す矛盾
492デフォルトの名無しさん
2018/05/05(土) 09:01:46.50ID:BfpDb3xn493デフォルトの名無しさん
2018/05/05(土) 09:05:16.60ID:BfpDb3xn >>488
それでVBAより作業が早いなら、本当にすごいと思うけど、オブジェクト指向すら理解できないレベルだからまぁ知れてるよねw
開発環境がない上に君の言う多態性すら必要ない発言を合わせてどれほど優位性があるのか説明してもらいたいよw
それでVBAより作業が早いなら、本当にすごいと思うけど、オブジェクト指向すら理解できないレベルだからまぁ知れてるよねw
開発環境がない上に君の言う多態性すら必要ない発言を合わせてどれほど優位性があるのか説明してもらいたいよw
494デフォルトの名無しさん
2018/05/05(土) 09:27:09.09ID:cuzWr0GO >>492
まぁそうだね。これがVBAだけやってる人の発言なら問題ないかも知れないけど
VB.Netやってての発言ならObject指向の存在価値全否定してるようなものだからね。
そんな人にデザインパターンとかは
まだちょっと早いんじゃないかな?
まぁそうだね。これがVBAだけやってる人の発言なら問題ないかも知れないけど
VB.Netやってての発言ならObject指向の存在価値全否定してるようなものだからね。
そんな人にデザインパターンとかは
まだちょっと早いんじゃないかな?
495デフォルトの名無しさん
2018/05/05(土) 09:33:08.82ID:LicTraOR VBAがホットなのかレガシーなのかは偏にMSのロードマップ次第じゃないの
VBAのサポートがずっと続くと見てるならばそれ自体有力な材料になるはず
MSの動きそっちのけで最強だの最弱だのはいくらなんでも無意味なんじゃ
VBAのサポートがずっと続くと見てるならばそれ自体有力な材料になるはず
MSの動きそっちのけで最強だの最弱だのはいくらなんでも無意味なんじゃ
496デフォルトの名無しさん
2018/05/05(土) 09:37:40.26ID:N9S74U1A497デフォルトの名無しさん
2018/05/05(土) 09:41:08.55ID:N9S74U1A498デフォルトの名無しさん
2018/05/05(土) 09:47:35.00ID:BfpDb3xn >>497
それで混乱しちゃうの?
OOPがサポートされてない古くさいんだろ、VBAは。
じゃあサポートされてる言語では活用するのが当然だと思ったけど違うのか?
マジで恥ずかしいレスしてることが理解できないの?
それで混乱しちゃうの?
OOPがサポートされてない古くさいんだろ、VBAは。
じゃあサポートされてる言語では活用するのが当然だと思ったけど違うのか?
マジで恥ずかしいレスしてることが理解できないの?
499デフォルトの名無しさん
2018/05/05(土) 10:03:32.45ID:DnMdiEfY >>498
この人ねえ、根本的に頭悪いんだわ。
スキルの問題じゃなくて。
だからあんたの意図も読めて無いんですな。
論理的じゃ無いんだろうね。
ここまでず一っと同じ感じで破綻した話ばかりしてる。
今にオブジェクト指向も必要無くても、便利な機能を使わなくても、レガシーな使い方しかしなくてもVBAじゃなければ素晴らしいと言い出すぞ。
この人ねえ、根本的に頭悪いんだわ。
スキルの問題じゃなくて。
だからあんたの意図も読めて無いんですな。
論理的じゃ無いんだろうね。
ここまでず一っと同じ感じで破綻した話ばかりしてる。
今にオブジェクト指向も必要無くても、便利な機能を使わなくても、レガシーな使い方しかしなくてもVBAじゃなければ素晴らしいと言い出すぞ。
500デフォルトの名無しさん
2018/05/05(土) 10:04:07.55ID:TTUQSH5z >>498
もろお前が混乱してるだろ w
> OOPがサポートされてない古くさいんだろ、VBAは。
そうだよ、事実でしょ?
> じゃあサポートされてる言語では活用するのが当然だと思ったけど違うのか?
なんで全員が活用する必要があるんだ?
必要だと思う奴が使えばいいだけだろ
> マジで恥ずかしいレスしてることが理解できないの?
お前のレスのことを言ってるならよく理解できるよ w
もろお前が混乱してるだろ w
> OOPがサポートされてない古くさいんだろ、VBAは。
そうだよ、事実でしょ?
> じゃあサポートされてる言語では活用するのが当然だと思ったけど違うのか?
なんで全員が活用する必要があるんだ?
必要だと思う奴が使えばいいだけだろ
> マジで恥ずかしいレスしてることが理解できないの?
お前のレスのことを言ってるならよく理解できるよ w
501デフォルトの名無しさん
2018/05/05(土) 10:08:34.52ID:DnMdiEfY それぞれにメリット、デメリットが有るのにVBAのメリットについては無くても良い「場合」が有ると、部分的事象で全否定し、他言語で無くても良い「場合」については何故か必須になってるんだよ。
この人は。
全く論理的じゃない。
この人は。
全く論理的じゃない。
502デフォルトの名無しさん
2018/05/05(土) 10:11:25.64ID:DnMdiEfY >>500
じゃあ必要と思ってない奴にとってはVBAで問題ないと言いたいのかね?
じゃあ必要と思ってない奴にとってはVBAで問題ないと言いたいのかね?
503デフォルトの名無しさん
2018/05/05(土) 10:14:07.65ID:BfpDb3xn OOPがサポートされていない言語は古くさくてダメ!
例えメモ帳しかなくてもC#のがマシ!
でも、オブジェクト指向は使わない!
多態性は理解できない!
デザインパターンは知ったかぶり!
VB.netとC#は全くの別物なので同時に話す奴は混乱している!
以上を理解できない奴は頭が悪い!
例えメモ帳しかなくてもC#のがマシ!
でも、オブジェクト指向は使わない!
多態性は理解できない!
デザインパターンは知ったかぶり!
VB.netとC#は全くの別物なので同時に話す奴は混乱している!
以上を理解できない奴は頭が悪い!
504デフォルトの名無しさん
2018/05/05(土) 10:16:05.89ID:Quj/VaeY505デフォルトの名無しさん
2018/05/05(土) 10:31:48.06ID:TTUQSH5z >>504
> 活用するしないじゃなくて
> 多態性はObject指向の根底をなす部分だからだよ。
だからなに?
> それを使わなくていいということは
> 別にObject指向言語じゃなくていいじゃんってことになる。
いいんじゃないの?
たまたまVB.NETの話が出てるからオブジェクト指向言語云々と言う知ったかさんが来てるだけで使える言語の使える部分を便利に使えばいいだけだろ?
俺は一応多態とかも使えるから使うけど関係ない人に使えとかは言わないよ
> 活用するしないじゃなくて
> 多態性はObject指向の根底をなす部分だからだよ。
だからなに?
> それを使わなくていいということは
> 別にObject指向言語じゃなくていいじゃんってことになる。
いいんじゃないの?
たまたまVB.NETの話が出てるからオブジェクト指向言語云々と言う知ったかさんが来てるだけで使える言語の使える部分を便利に使えばいいだけだろ?
俺は一応多態とかも使えるから使うけど関係ない人に使えとかは言わないよ
506デフォルトの名無しさん
2018/05/05(土) 10:34:08.38ID:TTUQSH5z507デフォルトの名無しさん
2018/05/05(土) 10:37:32.47ID:BfpDb3xn 一応使えるから多態も使う!
このレスの時点で意味理解してないこと丸出しなんだけどw
このレスの時点で意味理解してないこと丸出しなんだけどw
508デフォルトの名無しさん
2018/05/05(土) 11:04:21.82ID:Quj/VaeY >>505
だからそれだったらVB.Netの話出す必要もなければ
VB.Netを知っていると言うことは
ある程度Object指向のことも知ってると思ってこっちはレスするじゃない。
まともに使ったことないなら最初からそう言えばいいのに・・・
ちょっとガッカリ
だからそれだったらVB.Netの話出す必要もなければ
VB.Netを知っていると言うことは
ある程度Object指向のことも知ってると思ってこっちはレスするじゃない。
まともに使ったことないなら最初からそう言えばいいのに・・・
ちょっとガッカリ
509デフォルトの名無しさん
2018/05/05(土) 11:15:37.16ID:TTUQSH5z510デフォルトの名無しさん
2018/05/05(土) 11:33:42.38ID:Nv1xEN+m >>509
それはVB.Netをまともに理解していない君が口走るのはおこがましいと思う
それはVB.Netをまともに理解していない君が口走るのはおこがましいと思う
511デフォルトの名無しさん
2018/05/05(土) 11:39:51.52ID:tjPqjwLQ >>509
おまえはもう黙れ。というかまだしゃべる許可は与えとらんよ。
このスレの皆様へ
この度はバカの ID:TTUQSH5z を野放しにしてしまい、皆様に多大なる
ご迷惑をおかけした事、深く陳謝いたします。
今後は更なる監視の強化を行ない、二度とこのバカが勝手な発言を行えないよう
務めてまいりますので何卒ご理解の程お願い致します。
おまえはもう黙れ。というかまだしゃべる許可は与えとらんよ。
このスレの皆様へ
この度はバカの ID:TTUQSH5z を野放しにしてしまい、皆様に多大なる
ご迷惑をおかけした事、深く陳謝いたします。
今後は更なる監視の強化を行ない、二度とこのバカが勝手な発言を行えないよう
務めてまいりますので何卒ご理解の程お願い致します。
512デフォルトの名無しさん
2018/05/05(土) 11:48:08.54ID:TTUQSH5z >>510
だから俺の話なんて元々してないんだが...
だから俺の話なんて元々してないんだが...
513デフォルトの名無しさん
2018/05/05(土) 11:49:15.85ID:TTUQSH5z514デフォルトの名無しさん
2018/05/05(土) 11:51:38.73ID:Quj/VaeY515デフォルトの名無しさん
2018/05/05(土) 12:17:24.31ID:TTUQSH5z はい、ごまかしモード入りましたー w
516デフォルトの名無しさん
2018/05/05(土) 12:19:45.99ID:yoXg86RX >>493
メモ帳C#のほうが生産性が高いと思う
洗練されたオブジェクト指向サポート
モダンな言語機能
これだけでもだいぶ楽になる
シンタックスハイライトとインテリセンスはあくまでオマケかな
まあでもVBAよりマシってだけだから最初から全てが揃ってるPowerShellを使ったほうがいいけどな
メモ帳C#のほうが生産性が高いと思う
洗練されたオブジェクト指向サポート
モダンな言語機能
これだけでもだいぶ楽になる
シンタックスハイライトとインテリセンスはあくまでオマケかな
まあでもVBAよりマシってだけだから最初から全てが揃ってるPowerShellを使ったほうがいいけどな
517デフォルトの名無しさん
2018/05/05(土) 12:43:41.18ID:NYhud1FJ はやくGW終わらないかなぁ
とりあえず生産性どうこう言ってるやつは、どういう物を生産するのかはっきりしてから話してくれ
っと思ったけどPS最高君だったか
すまん、この書き込みともども無視しといてくれ
とりあえず生産性どうこう言ってるやつは、どういう物を生産するのかはっきりしてから話してくれ
っと思ったけどPS最高君だったか
すまん、この書き込みともども無視しといてくれ
518デフォルトの名無しさん
2018/05/05(土) 12:49:42.90 で、 >>397-398 の答えはまだかね?
Rubyでのワンライナーの書き方を待ってるんだが
Rubyでのワンライナーの書き方を待ってるんだが
519デフォルトの名無しさん
2018/05/05(土) 12:51:17.94ID:FU4Pcb/d PowerShelの伝道師 ID:yoXg86RX
w
w
520デフォルトの名無しさん
2018/05/05(土) 13:44:32.48ID:LkKePK4y VBAしか使えない人々かわいそう
521デフォルトの名無しさん
2018/05/05(土) 17:09:49.49ID:063K4Ypr 早く静かにならなかな、、
522デフォルトの名無しさん
2018/05/05(土) 17:16:03.00ID:063K4Ypr 流れを読まずに質問!
他シートをActiveにせずに、座標指定で .FreezePanesを指定したいんだけど
方法ある? (もしかして多言語からならできるのか!?)
他シートをActiveにせずに、座標指定で .FreezePanesを指定したいんだけど
方法ある? (もしかして多言語からならできるのか!?)
523デフォルトの名無しさん
2018/05/05(土) 17:18:11.72ID:063K4Ypr524デフォルトの名無しさん
2018/05/05(土) 17:57:53.09ID:LkKePK4y SplitRow
SplitColumn
ではいかんのか?
SplitColumn
ではいかんのか?
525デフォルトの名無しさん
2018/05/05(土) 18:18:56.66ID:063K4Ypr >>524
それ、画面分割じゃなくて? 専ら使わんです。
、、と思ったら、事前に .SplitRow; .SplitColumn; しとけば
ActiveCell変更しなくても .FreezePanes で指定座標でLock
できるわけね。
For回さずに別シートの行列Lockがしたかったんだけど、これだけでも
収穫でした。 Tnx!!
別シートのを .FreezePanes 設定するのはやっぱり無理かね?
(com経由ならできる?)
それ、画面分割じゃなくて? 専ら使わんです。
、、と思ったら、事前に .SplitRow; .SplitColumn; しとけば
ActiveCell変更しなくても .FreezePanes で指定座標でLock
できるわけね。
For回さずに別シートの行列Lockがしたかったんだけど、これだけでも
収穫でした。 Tnx!!
別シートのを .FreezePanes 設定するのはやっぱり無理かね?
(com経由ならできる?)
526デフォルトの名無しさん
2018/05/05(土) 18:31:36.42ID:II6m7tZa エクセルの操作に限って言うなら同じものにアクセスするだけだから
接続する為のコードが増えるだけでVBAで出来ない事を出来るようにはならんだろうなぁ
接続する為のコードが増えるだけでVBAで出来ない事を出来るようにはならんだろうなぁ
527デフォルトの名無しさん
2018/05/05(土) 18:54:43.44ID:z4c77ZQa カプセル化ですらオブジェクト指向のコアじゃない、という意見も世の中にはあるんだし、
多態性なんてそれほど大したもんじゃないよ。
それはさておきVBAでは多態性よりダックタイピングの方が何かと使いやすい。
多態性なんてそれほど大したもんじゃないよ。
それはさておきVBAでは多態性よりダックタイピングの方が何かと使いやすい。
528デフォルトの名無しさん
2018/05/05(土) 20:03:32.26ID:cuzWr0GO >>527
ダックタイピングと言うものはよく知らなかったのでググって見たけど
「オブジェクトがあるインタフェースのすべてのメソッドを持っているならば、
たとえそのクラスがそのインタフェースを宣言的に実装していなくとも、
オブジェクトはそのインタフェースを実行時に実装しているとみなせる」と言うことだとか。
でもこれって明示的にインターフェースを実装宣言していないだけで
結局は移譲で多態性の一種じゃないの?
ダックタイピングと言うものはよく知らなかったのでググって見たけど
「オブジェクトがあるインタフェースのすべてのメソッドを持っているならば、
たとえそのクラスがそのインタフェースを宣言的に実装していなくとも、
オブジェクトはそのインタフェースを実行時に実装しているとみなせる」と言うことだとか。
でもこれって明示的にインターフェースを実装宣言していないだけで
結局は移譲で多態性の一種じゃないの?
529デフォルトの名無しさん
2018/05/05(土) 20:06:33.33ID:WYM5IUV2 "D:\tmp\"からファイル名が"^2018-\d\d-\d\d\.xlsx$"に正規表現マッチするファイルを再帰的に検索する
検索された全てのファイルに対してシート名が"tmp"で始まるワークシートを削除して上書き保存
いったいどうやればいいのでしょうか?
検索された全てのファイルに対してシート名が"tmp"で始まるワークシートを削除して上書き保存
いったいどうやればいいのでしょうか?
530デフォルトの名無しさん
2018/05/05(土) 20:19:29.56ID:YAuvYSr4 >>529
自分で考えたほうが早いんじゃねw
自分で考えたほうが早いんじゃねw
531デフォルトの名無しさん
2018/05/05(土) 20:23:15.18ID:z4c77ZQa532デフォルトの名無しさん
2018/05/05(土) 20:28:29.47ID:cuzWr0GO533デフォルトの名無しさん
2018/05/05(土) 20:31:32.46ID:cuzWr0GO 再帰的にって話だったから
Dir関数で拾ったものの名称やらアトリビュートやらで
それがフォルダだったら更に下の階層を漁るようにすれば
出来るような気がするけど?
そういうことではない?
Dir関数で拾ったものの名称やらアトリビュートやらで
それがフォルダだったら更に下の階層を漁るようにすれば
出来るような気がするけど?
そういうことではない?
534デフォルトの名無しさん
2018/05/05(土) 20:46:42.41ID:z4c77ZQa535デフォルトの名無しさん
2018/05/05(土) 21:17:32.31ID:8uGGiv/v いちいちシートに書き出してからでないと処理出来ない関数多くて萎えるな
linestとか、配列(variant型)から直接呼び出したくても出来ないぽい
linestとか、配列(variant型)から直接呼び出したくても出来ないぽい
536デフォルトの名無しさん
2018/05/05(土) 22:15:32.03ID:LkKePK4y 長すぎワロタ
なお動作確認はしていない
Sub GetProcessTargetFilesImpl(ByVal folder As Object, ByVal tester As Object, ByVal result As Collection)
For Each file In folder.Files
If tester.Test(file.Name) Then
result.Add file
End If
Next
For Each subFolder In folder.SubFolders
GetProcessTargetFilesImpl subFolder, result
Next
End Sub
Function GetProcessTargetFiles(ByVal rootFolderPath As String) As Collection
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim tester As Object
Set tester = CreateObject("VBScript.RegExp")
tester.Pattern = "^2018-\d\d-\d\d\.xlsx$"
tester.IgnoreCase = True
Set GetProcessTargetFiles = New Collection
GetProcessTargetFilesImpl fso.GetFolder(rootFolderPath), tester, GetProcessTargetFiles
End Function
なお動作確認はしていない
Sub GetProcessTargetFilesImpl(ByVal folder As Object, ByVal tester As Object, ByVal result As Collection)
For Each file In folder.Files
If tester.Test(file.Name) Then
result.Add file
End If
Next
For Each subFolder In folder.SubFolders
GetProcessTargetFilesImpl subFolder, result
Next
End Sub
Function GetProcessTargetFiles(ByVal rootFolderPath As String) As Collection
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim tester As Object
Set tester = CreateObject("VBScript.RegExp")
tester.Pattern = "^2018-\d\d-\d\d\.xlsx$"
tester.IgnoreCase = True
Set GetProcessTargetFiles = New Collection
GetProcessTargetFilesImpl fso.GetFolder(rootFolderPath), tester, GetProcessTargetFiles
End Function
537デフォルトの名無しさん
2018/05/05(土) 22:16:12.51ID:LkKePK4y Sub DeleteTempWorksheets(ByVal filePath As String)
Dim book As Workbook
Set book = Workbooks.Open(filePath)
Dim tempSheets As Collection
Set tempSheets = New Collection
For Each sheet In book.Worksheets
If Left(tempSheets.Name, 3) = "tmp" Then
tempSheets.Add sheet
End If
Next
For Each sheet In tempSheets
sheet.Delete
Next
book.Save
book.Close
End Sub
Sub MainProgram()
For Each file In GetProcessTargetFiles()
DeleteTempWorksheetsDeleteTempSheet file.Path
Next
End Sub
Dim book As Workbook
Set book = Workbooks.Open(filePath)
Dim tempSheets As Collection
Set tempSheets = New Collection
For Each sheet In book.Worksheets
If Left(tempSheets.Name, 3) = "tmp" Then
tempSheets.Add sheet
End If
Next
For Each sheet In tempSheets
sheet.Delete
Next
book.Save
book.Close
End Sub
Sub MainProgram()
For Each file In GetProcessTargetFiles()
DeleteTempWorksheetsDeleteTempSheet file.Path
Next
End Sub
538デフォルトの名無しさん
2018/05/05(土) 23:42:21.67ID:LkKePK4y PSだとこう
rubyやpythonだとどうなるのかね?
$app = New-Object -ComObject Excel.Application
$app.DisplayAlerts = $false
Get-ChildItem -Path "D:\tmp\" -Recurse -Filter "*.xlsx" |
where { $_.Name -match "^2018-\d\d-\d\d\.xlsx" } |
foreach {
$book = $app.Workbooks.Open($_.FullName)
$sheets = $book.Worksheets | where { $_.Name.StartsWith("tmp") }
$sheets | foreach { $_.Delete() | Out-Null }
$book.Close($true)
}
$app.Quit()
rubyやpythonだとどうなるのかね?
$app = New-Object -ComObject Excel.Application
$app.DisplayAlerts = $false
Get-ChildItem -Path "D:\tmp\" -Recurse -Filter "*.xlsx" |
where { $_.Name -match "^2018-\d\d-\d\d\.xlsx" } |
foreach {
$book = $app.Workbooks.Open($_.FullName)
$sheets = $book.Worksheets | where { $_.Name.StartsWith("tmp") }
$sheets | foreach { $_.Delete() | Out-Null }
$book.Close($true)
}
$app.Quit()
539デフォルトの名無しさん
2018/05/05(土) 23:43:45.55ID:95YSYNlN Ruby で作った
# . で始まる、directory, file を除く
Dir.glob('D:/tmp/**/*.xlsx') do |file| # 再帰的
next if File.directory? file # ファイルだけを処理する
fn = File.basename(file, '.xlsx') # 拡張子を除いた部分
# 正規表現に一致した、ファイルだけを処理する
next unless /^2018-\d\d-\d\d$/ =~ fn
puts fn #=> 2018-01-31
end
# . で始まる、directory, file を除く
Dir.glob('D:/tmp/**/*.xlsx') do |file| # 再帰的
next if File.directory? file # ファイルだけを処理する
fn = File.basename(file, '.xlsx') # 拡張子を除いた部分
# 正規表現に一致した、ファイルだけを処理する
next unless /^2018-\d\d-\d\d$/ =~ fn
puts fn #=> 2018-01-31
end
540デフォルトの名無しさん
2018/05/06(日) 00:13:02.96ID:5pacMdKU 配列も処理出来ないもんですかね、、、。
一旦バリアント型の配列に入れて、
1列目と2列目でlinest、
2列目と3列目で、
1列目と2列目3列目の2列で、
など列単位比較を取っていきたいんです。
結局シートに値貼り付けて戻してから計算しないとダメで、時間が掛かりすぎる。
一旦バリアント型の配列に入れて、
1列目と2列目でlinest、
2列目と3列目で、
1列目と2列目3列目の2列で、
など列単位比較を取っていきたいんです。
結局シートに値貼り付けて戻してから計算しないとダメで、時間が掛かりすぎる。
541デフォルトの名無しさん
2018/05/06(日) 00:56:27.40ID:c6V5Tk/M なんで無理してなんでもExcelでやろうとするのか
542デフォルトの名無しさん
2018/05/06(日) 01:36:23.42ID:aPyLzrz1 ちょっと調べたら別にシートに転記する必要はないみたいだが
単に理解してないだけか
単に理解してないだけか
543デフォルトの名無しさん
2018/05/06(日) 02:17:09.53 >>539
全然やりたいことできてないじゃん
全然やりたいことできてないじゃん
544デフォルトの名無しさん
2018/05/06(日) 03:10:14.74ID:WI8S4nUT >>540
何をやりたいのかイマイチ伝わらないけど
Insertと言ってるのは列の追加?
SQLで出来る範囲のことであれば
一度シートにSQL投げて取得した結果を
シートをクリアした後に貼り直すのが
一番早くて楽かなとは思うけど。
何をやりたいのかイマイチ伝わらないけど
Insertと言ってるのは列の追加?
SQLで出来る範囲のことであれば
一度シートにSQL投げて取得した結果を
シートをクリアした後に貼り直すのが
一番早くて楽かなとは思うけど。
545デフォルトの名無しさん
2018/05/06(日) 03:44:28.04 >>544
回帰分析も知らないんなら黙っとけよ
回帰分析も知らないんなら黙っとけよ
546デフォルトの名無しさん
2018/05/06(日) 05:01:24.60ID:WI8S4nUT >>545
確かに回帰分析知らないからじゃ頼むわ
確かに回帰分析知らないからじゃ頼むわ
547デフォルトの名無しさん
2018/05/06(日) 08:38:26.21ID:c6V5Tk/M >>538
VBA信者はこれより簡単に書けんの?
VBA信者はこれより簡単に書けんの?
548デフォルトの名無しさん
2018/05/06(日) 08:43:24.29ID:c6V5Tk/M >>540
python
python
549デフォルトの名無しさん
2018/05/06(日) 09:10:32.16ID:cLRBXgZI ものすごく無邪気な空目を見てほっこりしたw
550デフォルトの名無しさん
2018/05/06(日) 10:32:51.06ID:aPyLzrz1 PSのサンプルは普通にありがたい
あっちのスレ過疎ってるし
あっちのスレ過疎ってるし
551デフォルトの名無しさん
2018/05/06(日) 11:10:09.54ID:vglAnW1b だったら、その過疎ってるスレでやれや、チンカス
552デフォルトの名無しさん
2018/05/06(日) 13:33:33.61ID:c6V5Tk/M 初心者でも手軽で簡単なVBAのプログラム見てみたいなー
他の言語だと>>538のようにファイル探してシート削除するだけでそんな長くなるわけないけど
他の言語よりもっと手軽で簡単なVBAならさらに綺麗で短いプログラムになるんだろうなー
VBAerさんの実力見てみたいなー
他の言語だと>>538のようにファイル探してシート削除するだけでそんな長くなるわけないけど
他の言語よりもっと手軽で簡単なVBAならさらに綺麗で短いプログラムになるんだろうなー
VBAerさんの実力見てみたいなー
553デフォルトの名無しさん
2018/05/06(日) 14:11:50.40ID:Ka8bfK6G VBAを否定したいが為に、他の言語よりも手軽で簡単で短いプログラムが書ける言語という条件を掲げ始めたの笑える
もうそこまで条件つめないと否定する箇所が見つからないんだね
もうそこまで条件つめないと否定する箇所が見つからないんだね
554デフォルトの名無しさん
2018/05/06(日) 14:56:53.33ID:c6V5Tk/M555デフォルトの名無しさん
2018/05/06(日) 15:05:08.61ID:Ka8bfK6G >>554
もともとVBAスレではそんな事は気にしていないし、
いくら啓蒙しようともVBA以外の選択肢がない事が絶対条件なんで別の言語出されても無意味なんですよねー
言語的な優位性を語りたいなら、それ専用のスレにいくべきであってVBAスレで的外れな事言い続けてるキミはただのマヌケだ
もともとVBAスレではそんな事は気にしていないし、
いくら啓蒙しようともVBA以外の選択肢がない事が絶対条件なんで別の言語出されても無意味なんですよねー
言語的な優位性を語りたいなら、それ専用のスレにいくべきであってVBAスレで的外れな事言い続けてるキミはただのマヌケだ
556デフォルトの名無しさん
2018/05/06(日) 15:18:31.33ID:c6V5Tk/M VBA使えるのにPS使えない環境というとなんだ?
557デフォルトの名無しさん
2018/05/06(日) 15:20:53.60ID:c6V5Tk/M まあ意地はって無意味とか言ってるけどさ
月曜になったら会社でPSのこと気になってちょこっと調べちゃう奴はたぶんいると思うぞw
月曜になったら会社でPSのこと気になってちょこっと調べちゃう奴はたぶんいると思うぞw
558デフォルトの名無しさん
2018/05/06(日) 15:22:14.65ID:Ka8bfK6G >>556
会社がVBA以外を許容しない場合とかって何度も言われてるのに、キミは本当に物覚えが悪いんだね
会社がVBA以外を許容しない場合とかって何度も言われてるのに、キミは本当に物覚えが悪いんだね
559デフォルトの名無しさん
2018/05/06(日) 15:29:05.53ID:c6V5Tk/M OS標準搭載のシェル禁止とかエクスプローラー禁止する並みにばかばかしい
560デフォルトの名無しさん
2018/05/06(日) 15:32:07.46ID:Ka8bfK6G 馬鹿馬鹿しいかはともかく仕事でやってる限りは従うしかないわけで、
モダンだから使ってるわけでも、簡単に書けるから使ってるわけでも、手軽だから使っているわけでもなく、
会社が許容する言語がVBAだけだからVBAを使ってるんで、それが解決されない限りは無意味なんだよ
モダンだから使ってるわけでも、簡単に書けるから使ってるわけでも、手軽だから使っているわけでもなく、
会社が許容する言語がVBAだけだからVBAを使ってるんで、それが解決されない限りは無意味なんだよ
561デフォルトの名無しさん
2018/05/06(日) 16:20:21.14ID:hMxfhnzD 具体的なコード示されて反論できなくなったらVBA必須の職場とか言い出してて笑える
562デフォルトの名無しさん
2018/05/06(日) 16:22:54.16 いいからさっさと >>397-398 のRubyでのワンライナーコード提示しろよ
■ このスレッドは過去ログ倉庫に格納されています
