Excel VBA 質問スレ Part54
レス数が1000を超えています。これ以上書き込みはできません。
>>380
スマホタブレット世代の若いヤツはそれをいいとは思わないだろ。 誰かwbsのイナズマ線を自動で引いてくれるソース書ける人いない。。。?
どこから初めていいかすら、分からない。 >>382
まずは息を30分停める練習をしてください。
それができたら来てください。 >>382
1. WBSの入力サンプルを用意する
2. 1に基づいてイナズマ線を手動で書いてみる
3. 2に基づいてどういう入力のときにどういう出力をすればいいのか整理してパターン化する
4. 3に基づいてコーティングする
5. 4を動かして2と同様の出力になるかどうか確認する >>382
> どこから初めていいかすら、分からない。
流石にその状態だとこっちもどこから教えたらいいかすら、わからん
Excel 稲妻線 あたりでググって適当なアドイン使ったほうがいいんじゃね? Project買えばいいのに
これだからExcel陶酔者は困るんだ VBAなんだから、何はともあれマクロの記録からだろ。 VBAの本に書いてあるコードをひたすらパソコンに写経して実行してればVBAできるようになりますか? >>382
まずはWBSとイナズマ線の定義を明確化して
全てはそこからだよ 「イナズマ線」でググったらこんなの出ましたけど?
イナズマ線を簡単に引くExcelマクロを作りました
http://www.fin-itnews.com/entry/2015/08/12/031032
Sub イナズマ線描画()
'FreeformBuilderオブジェクトを宣言
Dim InazumaLine As FreeformBuilder
'始点を設定
Set InazumaLine
'以降の点を結んでいく
'繰り返し用変数i
Dim i As Integer
'列の位置固定用変数
'上から下にセルをなめていく。0以外の数値ならイナズマ線を引く
For i
'数値以外はスキップ
If Not () Then
'0もスキップ
ElseIf
'イナズマ線を引く(正の数なら>、負の数なら<)
Else
End If
Next i
'終点を設定
'イナズマ線を描画
'見た目の編集(青の太線) >>386
Redmineでもなんでもいいけどオープンソース使えばいいよ
ビジネスマンなら無駄な出費は最小限に抑えなきゃ イナズマ線でほんとにイナズマになるのってまずいんだから
直線引いとけばいいんじゃいないかな 1.シェイプの直線を挿入するのをマクロの記録で記録する。
2.記録されたコードの中で始点と終点と思われる部分を適当に変えて実行してみる。
3.2で得られた任意の2点で直線を引くマクロを2回実行し、その時1回目の終点と2回目の始点を同じ座標にする。
4.3の実行結果後、マクロの記録で2つの直線をグループ化するのを記録する。
5.n個の直線を引いた後で一度にグループ化するように処理を変更する。
6.n+1点の配列を引数にして上記を実行するようにプロシージャを作成。
マクロの記録は余計なコードが大量に含まれるから関係ないものを削除して実行を繰り返すと良いコードになる。 >>382
まずは全裸になって町を駆け抜けてくさい
(´・ω・`)b 特にエラーがあるわけでもなくブレークポイントを設置しているわけでもないのに
黄色い矢印が出て止まるのってなんなんでしょうか
必ず起きるというわけでもなく出たり出なかったな上に続行ボタンを押せば特に問題もなく終了するので
発生原因がまったくわからないのですがこれバグかなんかですか?
@2013 >>400
必ず止まるわけじゃないだろ。
バグかどうか分からんけど、わりとよくある。
PC再起動で直る。 ウィンドウフォーカスが外れるとオブジェクトが使えなくなってしまい止まるコードは良くある。
コーディング上の問題 >>400
「VBAProjectのコンパイル」を実行してからF5押してもダメか?
たまーに同様のケースでこれで解決する場合があったんで。 >>400
エラー起きた後に続行すると動くって事は
画面が完全に表示しきれてないのに読み込もうとするからじゃない?
初心者ならエラー起きる箇所の前にwait入れる
プロなら完全に表示しきったら次の処理に行くようにする >>400
多分バグ
ブレイクポイントを設定したままセーブして
立ち上げ直すと起こる奴のことじゃないかな?
そこにブレイクポイントを再度設定して
外してやって起きるか試してみ? セル内にアルファベットがあるかどうか判断する関数おしえて >>410
VBAじゃなくて関数でいいの?
そしたら>>411に聞いたら?
きっと親切に教えてくれるよ なんでエラーが出たことになってんの?
全く理解出来ん。 Sumifsの引数って内部的にどうなってるんでしょう?
ABABAB…って繰り返すので、
Byval何とかAs何とかってのが延々並んでいる状態?
それとも繰り返し用の書き方がある? 2007でオブジェクトブラウザでみると、ずらずらと引数書いてあるな テーブル1に、row数が同じテーブル2を合体させたい
データ、書式設定、条件付き書式やドロップダウンリストごとテーブル1に合体させたい。
どうやるのが無難ですか? 全く作り方が思い付かないからご教授お願いします。
@入力の所に数字を入れる。
Aup or downに数字が入れる。
例 入力45 up1 down2
Bupとdownを計算 -1
C入力45がコードのCとDの間で下のDとしてBで計算された-1上を選択。
D判定が×だから○まで上に上がりBを選択。
※計算が+なら下へ、判定○ならその左のコードを取得、×なら○まで下へ。
※上下に移動していって該当がない、移動なし、判定×ならエラー。
こんなのを作りたいんですが上下移動がどうしたらいいか分かりません。
https://i.imgur.com/rZ7HQjn.jpg >>420
ループが書けるなら何も難しいポイントはないと思うけど? >>419
テーブルで結合せず普通にRangeでくっつけてテーブルにすれば良いのでは?そっから書式はどーにでもなる >>421
Do while Not EOF(filNo)
Line Input ♯filNo,strtxtLine
ReDim Presrve arrline(cntLine)
cntLine=cntLine+1
Loop
実際はこれでtxtファイルを読み込んでから1行ずつ見ていって判定処理したいんだけど、無理かな? >>424
無理じゃない
テキストファイルを配列に読み込んで処理すればいい
配列はワークシートのセルとまったく同じ構造なので、ワークシートで動くプログラムが作れたらRange (Cells)の部分をArray型に置き換えるだけ i=1
range("i:2").select
でエラーが返ってくるのはなぜなんだぜ?
変数を含んだ行をコピペしようと思って、これでシンプルにできると思ったらできなかった 平成30年のつもりで
H30 = 2018
とかやってた時に
Range(“A30:H30”)が”A30:2018”と解釈されたら困るだろ VBA昨日から始めたんですが
小数点第1位の繰り上げ処理がしたいけどわかりません
cells(1,1)=cells(1,2)/3とか簡単なやつをひたすら書いてるだけなのですがどうか力を貸してください >>430
worksheetfunction.roundupで良いんじゃないの? >>431
すいません、切り上げです。
>>432
マクロの結果が123.1だったら124にしたいってことです
>>433
切り上げたいセル=そのコードでいけますか? worksheetfunction以外ないでしょ。
わざわざvba使う意味がよく分からないけど。 切り上げ程度の簡単な処理でも、VBAだけで全部作るよりWorksheetFunctionの方が速い? 知らん実際に作ってみろよそして共有してくれ
家じゃexcel無いしめんどい めんどいのに意味のないレスはしたくなる馬鹿のジレンマ ジャップ企業「わざわざ車輪の再発明をするこたぁねー」
アップル「iPodでウォークマンを再発明しました!」
アップル「iPhoneで携帯電話を再発明しました!」
アップル「iPadでタブレットを再発明しました!」 iPodがウォークマンの再発明としか思えないから
日本からああいう製品は出なかったんだろうな アップルの成功はAppStoreをオープンにしてアプリを爆発的に増やしたこと
日本企業はオープンにせず独自企画が好きだもんな
iPodの頃なんて大して注目されてなかったし どこがじゃ。
全然オープンじゃねえだろ。
iPodのインパクトだろ。
こういうものはガジェオタが飛びついて一般に浸透してくから、最初は一般に注目される必要は無い。
デザインの力は大きかった。 条件付き書式って名前とかタグみたいな個を識別できるようなプロパティないの?
条件にごちゃごちゃ付け加えると重くなるからvba側で操作したいんだけど
特定できそうなところでなんちゃって判定するしかないのこれ ない上に知らん間に増殖する
全消しして追加がいいよ >>446
> ない上に知らん間に増殖する
そうなんだよね
条件付き書式の整理とか統合とかのコマンドがほしいわ >>447
確かに欲しい。でも作ろうと思えば作れる事に気がついた。
追加されるとは考えられないしやるか・・ ACCESSのフィールドをExcelに転記するとき、
例えばそれぞれ
1
2
3
4
5
と入っているレコードを
下から3つを転記したい(3、4、5の順で)場合どのようにすればよいのでしょうか?
CopyFromOrdersetでRowsMaxを3にすると1、2、3となり、下の3件3、4、5の順では転記できないでしょうか?
SQLのORDER BYを使うと5、4、3の順となりなかなかうまくいきません。
どなたか解決策を教えていただけないでしょうか? >>451
https://msdn.microsoft.com/ja-jp/library/cc408450.aspx
>コピーは Recordset オブジェクトの現在の行を開始点として行われます。
らしいから、現在行を3行目にしとけばいいんじゃない >>451
https://msdn.microsoft.com/ja-jp/library/cc408450.aspx
>コピーは Recordset オブジェクトの現在の行を開始点として行われます。
らしいから、現在行を3行目にしとけばいいんじゃない >>452-454
早速にありがとうございます。
確かに転記後にソートでどうにでもなりそうですね。
できれば転記時にできればとおもっておりました。
カーソル位置を3行目にする事で解決はおっしゃるとおりですね。
ただ私の最初の前提が不十分な解説のため申し訳ありません。データが増えていった場合でも下から3つを取り出したい場合はどうすればよいか苦慮しています。
ExcelVBAのように、Offsetが使えたらデータが増えていっても下から3つだけを取り出すという風にできていいなと思うのですが。 >>455
topを使って馬鹿はいい加減に引っ込め >>455
現在行をn-3行目にしとけば良いんじゃない
>>456
単純にtop取るんじゃなくて、descでorder byしてtop取ったやつをもう1回order byする必要があるんだが
そんなSQLがすらすら書けるようなレベルのやつはこんな質問しないし もう一回order byは必要無いだろ。
Excel側で対処すれば良い。 >>457
こいつみたいに、後から出てきて回答してることをグタグタ書く馬鹿も来なくていいよ >>458
それが自分でできてりゃ
>SQLのORDER BYを使うと5、4、3の順となりなかなかうまくいきません。
てな事にはなってないだろう マクロ・VBAの勉強がしたいです
どのような方法で勉強を進めるのが理想でしょうか
エクセルのレベルはVLOOKUPなどのメジャーな関数を使える程度のレベルです
ちなみに会社員です >>463
何をしたいのか明確な目的が必要
楽したい!ってモチベーションがないと続かないよ
トライ&エラーを繰り返すこと
教本だけでは身に付かないから、実践は必ず必要 vloookupをdisる様になったらエクセル使いとして一人前 >>463
今からプログラミングを覚えるならVBAなんて化石言語はやめましょう
言語的に近いC#がいいと思いますよ
VBA程度の事は全て出来ますしもっと色々と出来るので推奨 体系的に勉強する価値なんてないよ
やらなきゃいけないことをググって試してみての繰り返し
プログラミングのスキルやセンスを磨きたいなら他の言語で学んだ方がいい >>463
こんなところで聞かなきゃいけない時点でもうダメだな >>463
VBAを覚えて何がしたいのか知らんが、仕事で活用するなら
まず、エクセル関数をもっと覚えて関数で何とかできるようになりましょう
事務処理ならエクセル関数だけで大概のことはできる
VBAが必要な場面はあまり無いと思う。せいぜいファイル操作くらいか すいません、processingについてのスレッドはありますでしょうか? 使いわけでしょ。
数千あるチェック項目の内、1日100個ぐらいずつをチェックしていき、その集計結果で1日の結果を関数で出し、更に1ヶ月のト―タルなんかを関数でやってたら重くてどうにもならなくなったりするし。
銀行でDBから取ってきたデ―タが辻褄があってるかを調べるなんて仕事をしたことが有るんだが、その為にシステム組んでる側の(と言ってもそいつが組んでる訳じゃない)奴がチェック用に用意したsumproduct多用ブックは酷かった。
触る度に5分とか10分とか待たされた。
VBAで組んだら一瞬になったけどね。
自動再計算を切るのも諸刃の剣だし。 プログラマじゃない普通の会社員がExcelを使うのにVBA勉強すんのは普通だろ。
なんで不必要なC#とかやらにゃならんのだ。
プログラマってほんと頭でっかちやな VBAって二十年くらいなんの進歩もないよね
この言語を覚えて次に全く役に立たないじゃん
キャリアアップの為にも意味ないよね >>473
プログラマじゃないとしても今時エクセルだけじゃ話にならんでしょ
誰だって日常的にディレクトリ階層とエクセル以外のファイルを扱う
ツールの拡張がスクリプト言語になってることは良くある
自分のWindowsを管理するにはpowershellを使うね
得に最近需要が高まってるのはREST APIやスクレイピング技術だな
いずれもVBAでもできんことはないが果てしなく古臭い構文と開発環境、貧弱なライブラリのせいで死ぬほど生産効率悪いんだよね
マゾにはオススメかもしれんがノーマルな人にはオススメできんな >>474
VBAは進歩がないのがメリットとも言える。
pythonなんかは2と3で動作仕様が異なる上、モジュールのバージョンも気にする必要があって、別PCで同じ環境を構築しようとすると結構面倒。
その点、VBAはどんなPC、エクセルのバージョンであっても安定して動作するって意味では楽だな。
色々言語触ったけど、自分の結論としてはどの言語が良い悪いではなく、結局適材適所で使い分けが大事。 WindowsUpdateの影響で個々のPCで不具合でまくるが もっと短いのにならないかな。
Vlookupとか長いので、GonとかPnとかさ。
Sheet1も地味に長いよね。
Werでいいよね。 事務員はプログラマじゃないからVBで十分
他の言語を扱うなら担当の部署に回すか外注する
部署で自分しか扱えない言語を触りだしたら間違いなくそいつは地雷 iPad上でもWinで書いたVBAファイルは動きますか?
ファイルをやり取り出来る? 「エクセルで十分」ってよく聞くフレーズだけど
「料理するには石器で十分」のような強烈な違和感を感じる VBAって結構リストビューになかされない?最近win10になったけどバグる。
そもそもリストビュー使わない? >>480
Office365じゃないとVBAは動かなかったはず。ファイルはやり取り可能だが >>476
> その点、VBAはどんなPC、エクセルのバージョンであっても安定して動作するって意味では楽だな。
VBAはいいとしてもその上のExcelの動作がバージョンによって変わる
特にグラフ周りはグダグダ 普通の事務職がVBAを勉強したいっていう何の変哲もない書き込みにおまえら首の皮を取ったようにレスしててワロタ
おまえらみたいなのが少数派だってことを認識した方がいいぞ もう俺はおまえらに何も言えない
首の皮を取って出直してくる 本気でプログラミングするわけでもない事務員なら、より簡単に色々出来ることが多い言語を選ぶのが正解だろ?
マゾはVBAから始めてもいいけど完全に選択肢間違えてっぞ ExcelVBAを学びたい人の目的はExcel上での自動化なので、他の言語提案する馬鹿は、要求仕様もRFPも設計も出来ない馬鹿だと思う 真に事務屋に必要なのはAutoHotkeyとかUWSCみたいな即物的なマクロツール つーかいい加減VBAなんてゴミ捨てろよ
手抜き目的でプログラムなんて興味なしが大半なんだからそのへん雑なjsが最適だろ
型だのSetだのCallだのいらねーんだよハゲ エクセルと心中する気持ちがある
目指せエクセルマスター
それぐらい本気で取り組む気持ちがあるならVBA
そこまでの覚悟がないなら他の簡単で使い道が多い言語にしたほうがいいね >>496
カスタム関数がjsで書けるようになる。
現在ベータテスト中のはず。
またpython対応も進められてるはず。 ここぞとばかりに湧いてきよった教えたがりのプロさん達w >>484
エクセルのグラフや統計ツールは場当たり的な作業で使うもので、自動化には向かない。
そういうのはpythonとかの方がいいよ。 >>500
エクセル並のグラフ作れるライブラリ教えてくれたら考える ExcelのjavaScript対応なんて、Googleスプレッドシートの後追いじゃないの?
サーバーサイドじゃなくクライアントで動くなら助かるけど、
でたぶん、APIがあるだけで関数書式はVBAと同じ手続き踏まされると予感 excelは圧倒的な普及率が強み
多少使い勝手が悪くても使う理由 >>502
もちろんクライアントサイド。google spreadシートのはサーバーサイドでちょっと複雑な処理書くと制限に引っ掛かったりで非常に遅く、jsの仕様もes5相当の古い書き方しかできず辛い。
その点excelはedgeのjsエンジンであるchakraコアがそのまま動き最新の機能が使える。
まさかのasync/awaitまで使えて夢が広がる dim rng as range
for each rng in selection.rows
以下略
こんな感じで複数行選択して各列に対して操作を行いたいんですよ
でその操作の中で行をコピー・挿入だったり削除だったりするんですけど、それがselection内だったりするとselectionそのものが変わっちゃったりするんです
複製された行に対しても操作しようとしたり、削除されて上に1行繰り上がって本来操作されるべき列が飛ばされたり
なんかいいアイディアないですかねぇ
>>482
同じことあった。ライブラリのバージョン違うと動かんのねあれ
客が使うオフィスのバージョン確認したわ どなたか教えて頂けませんか。
Debug.Printが毎回追記されていくのがうっとうしくて、下記のような記述をしました。
Private Sub im_del()
Application.VBE.Windows("Immediate").SetFocus
SendKeys "^a", False
SendKeys "{Del}", False
End Sub
Sub ABCDE()
Call im_del
Debug.Print "ABCDE"
End Sub
ところが、一瞬"ABCDE"の記述が出現した後、すぐ消えてしまいます。
"ABCDE"を出力したあとに、ctrl+A、Del、が処理されているように見えるんですが、これは何故起こってるんでしょうか? >>507
SendKeysはWindowsさんに伝言をたのむ命令
その伝言が伝わる前に直接連絡した方が先に届いてもおかしくない
DoEventsいれてみ ここはほんとうに素晴らしいスレッドですね。
>>456とか>>459とか>>466とか雰囲気悪くするだけだからもうこなくていいよw 5chに来て何言ってんだ
建前抜きにした罵詈雑言の罵り合いも殺伐とした空気も煽りも自演も5chの醍醐味だろう
綺麗なインターネットを求めてるなら実名でブログでもツイッターでもやりゃいい pythonは次期Excelに搭載されないことが決定しただろ馬鹿 マジかーvbaとpythonとjsの悪魔合体楽しみにしてたのに ゆとり世代の知恵遅れの人達はいちいち誉めてあげないとダメだよ リアルではみんな良い人なんだろうな
そうだろ?
クソ野郎ども Sendkeysは基本避けるべき。
お手軽だからその時だけ動けば良い場合なんかに使うこともあるけど、制御できるようにWin32や別のAPI使うべきだよ。 ああ、でもイミディエイトは簡単にはいかないんだった。
Win32でどうにかしようとして一発でExcel落ちること多数。
俺もSendkeys以外で操作出来ないや。 Pythonが使えるようになったとして、Rangeの扱いはどうなるんだろ?
xlRangeとか名前変えて凌ぐのかな。
xlPyter NoteBookとかもうワケがわからなくなりそうな気がする アマチュアの皆さんはプロの話についてこれないでしょう
あるのかしらないけど事務員板などに行って、そっちで同レベル帯の人達だけでディスカッションすれば捗るのでは? python実装するとかしないとかそういう話はどこで知るんですか? ID:Ojk7x3Ta
知的障害者?それともただの馬鹿? ID:Ojk7x3Ta
重度の妄想癖のある統合失調症患者
近いうちに行政の方に保護される予定です >>536
でVBAの質問は?
何か聞きたい事はないの?
ないならキエロ 質問です
エクセルでゲームを作っている初心者ですが
セルの背景に風景画を設定し、
それをたまに切り替える処理は可能ですか?
特にセル内にはアイテムjpgを表示して、その背面に風景画を
表示させたいのですが 普段事務系でVBAを利用しており大変役立っているのでVBAがボロクソ言われているのに衝撃を受けました。もっと良い方法があるのなら是非知りたいです。
他の言語の方がいいというお声をちらほら拝見したのですが、例えばエクセルで集計や管理しているデータを仕訳化して会計システムに読み込ませるようなケースでは他の言語の方が良い場合があるのでしょうか。
それとも、そもそもでエクセルを使っている場合はやはりVBAの方が向いているのでしょうか。
エクセル使っている時点で糞というご意見もあるでしょうが、、、 >>539
>エクセルを使っている場合はやはりVBAの方が向いているのでしょうか。
現状その通り、将来的には分からんってだけ >>410
instr使って26*2回loop回して判定すればいいよ >>539
データ入力まではエクセルでOK
表形式のデータ入力ならエクセルが便利ってのは事実だ
入力したデータを読み込み、なんらかの計算をして、別のシステムと連携する
といった処理は他の言語を使ったほうがいい
データの読み込みはExcel.Applicationのおかげでどの言語でもできるし各言語にもっと良いライブラリがある場合もある
一旦データを読み込んでしまえば後の処理はエクセルから独立して作ることができるのでエクセルの制約に縛られることがなく快適だ
VBAはイベントハンドラなどエクセルの操作を拡張するちょっとした処理を定義する場合に仕方なく使うものと割り切ろう
例えば表形式のデータ入力を補助するちょっとした処理を作りたいな、と思ったらVBAでOK またパワーシェルキチガイやC#キチガイなどが降臨してくる悪寒 w textboxが3つあって仮にABCとして、enterイベントでエクセル読み取ってlistboxに追加。追加されたものをダブルクリックしたらtextboxに入れる。
A→追加→dクリック→Aに追加
B→追加→dクリック→Bに追加
textboxに追加する際にtextboxを特定するにはどうしたらいいですか? >>544
日本語をまともに書けるようになってから出直してこい
そんな頭だからわからんだけ >>544
意味わかんねえから誰も答えらんねえ
enterイベントって何よ?そのイベントはどこから発生する設定なわけ?
"エクセル読み取って"とは?
listboxに追加されるのはエクセル?w
最後に、なぜlistboxからtextBoxに追加する? >>544
実現したい事を一個づつ分けてみては?
ちょっと意味が分からない エスパーしてみた
textboxが3つ(a,b,c)とlistboxが1つあって、
いずれかのtextboxに値を入力してenterを押下すると、その値がlistboxに追加される。
(その際に、どのtextboxから追加されたのかも情報として保持しておく)
listbox側でアイテムをダブルクリックすると、そのアイテムを元のtextboxに再度表示させる。
というような動作がしたいのではなかろうか? 説明下手ですまん。
textbox a b c3つ。
listbox 1つ。
listboxにはa b cにはそれぞれ違う入力候補が表示される。
textboxがフォーカスされるとエクセルから読み取ってlistboxに入る。
ここまでは出来た。
抽出された、listboxから選んでそれをダブルクリックでtextboxに入れたい。
その時に入れるべきtextboxの保持の仕方が知りたい。出来ますか? >>550
お前馬鹿なの?
オブジェクト名は何のためにあると思ってるの?
>>546
答えもしないお前が引っ込め listbox1のリスト要素は textbox a,b,c選択毎に変わる。a選択時にはa用要素、b選択時にはb用要素...と。
ユーザーがリストの要素をダブルクリックした時に目的のboxに入力させたい。て話ね。
単にコードの内部で変数維持すりゃいんじゃないの? 最後に選択したTextBoxを覚えておく変数を用意するだけだろ。 >>538
>>551
SetBackgroundPicture
ズバリそのもののメソッドあるじゃん
書き込む前にググるくらいはしようよ… >>557
ありがとうございます
でもそれつわてどういうキーワードだと引っかかるんですか? >>558
「セル 背景 画像 vba」でググっただけだよ
むしろどんな単語で検索したのかこっちが聞きたい
あーあと勝手に>>538はシート全体へ背景を表示したいと捉えたけど
文字通り「一つのセルに背景画像と他の画像を重ねて表示」させたいなら
AddpictureとZOrderをキーワードに調べてみて >>507です。
SendKeysのctrl+A、Del、のあとに2秒も待機をはさみましたが、やはり"ABCDE"が出力されてからその文字列が削除されました。
検証したところ、環境のせいか何なのか分かりませんが、SendKeyはマクロが終わってから処理されているみたいです。
あきらめます。いろいろどうも。 うちで色々試してみたけど、少なくともWin10+Excel2016(64bit)の環境では
イミディエイトウィンドウのクリアがうまく動かない
なぜかSendkeysのところで警告音が鳴って(音だけでメッセージは出ない)、何も処理されてない感じになる
ネット上にもサンプルが色々転がってるけど、やってることはみんな同じだし、原因がよく分からん
DoEventsやSleepもあちこちに入れてみたけど変わらず Win7で試し、XPで試し ははぁ〜ん、もしかして、これは、レガシーアーキテクチャーだったんだな、と
Accessだと、とっくに「SendKeys」は使うな とご託宣のシロモノ 理由は言わずもがな しかしVBScriptやら他の言語では普通に使えてるんだよなあSendkeys んな面倒なことしなくても、バックスペースをそのまま出力すればいいんじゃないの?
どこかでそんな作例見たぞ。 バックスペースでもデリートでもかまいませんが、
マクロ処理より「先に」SendKeysがしたい、というのが主旨でした。
別にSendKeysにこだわる理由もないのですが、どうにも他の手段も思いつきません。
みんな煩わしくないのでしょうか。 >>564
そもそもSendkeysがまともに動かない
BackSpaceもみんなダメ Sendkeysじゃなくて、Debug.Printで出力しろって言ってるんじゃないのか
出来るかどうかは知らんけど
うちの環境でSendkeys試したら、それ以前にイミディエイトウインドウがアクティブにならんかったわ >>567
確かに検索するとバックスペースを大量に出力する方法も出てくるけど2016ではだめだった
制御コードはみんなスペースに変換されて出力される
イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
"immediate" は英語版 もうメモ帳で立ち上げたテキストファイルにリアルタイムで追記していくでいいじゃん >>568
>イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
いや、それはわかっている
SetFocusしてもアクティブにならんかったんだよ
まあ古い環境なんで追試するほどのもんでもないしどうでもいいが Excel2010、2013、2016
Excelに詳しくない人が何でも貼付をする為、書式がグチャグチャになっていく・・・。(値に貼り付けが基本と説明してもわからず・・・。)
こういうのを作ったけど不具合が出てしまう。(貼付が出来る。)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Target.PasteSpecial xlPasteValues
Application.CutCopyMode = True
End Sub
「値に貼付」以外の貼付ボタンを非表示かロックをする方法は無いでしょうか? >>571
何をしたいのかよくわからんけど書式なんて無視しとけばいいんじゃね? 問答無用で値のみに強制するならchangeでコピーundo値貼り付けでいけそうだが
共有ファイルだと他の人に迷惑だし全体の書式を修正するコード書いたほうがいいんじゃないの SubとFunctionの違いは
返り値がないかあるかの違いだけですか? 英語やってる人なら
x イミディエイト
o イミーディイット
のカタカナにしたいな。 >>572
すみません。
書式だけではなく、セルの保護まで設定される。
コピー=セル保護有
ペースト=保護無のところに保護有に切り替えてしまう。 >>573
そのパターンもありますね。
明日、チャレンジしてみます。 >>542
539です。遅くなりましたが詳細ありがとうございました。
他の言語を使った方がいいとのことで、例えばどのようなものがおススメでしょうか。経験があられましたらお知恵をお借りできましたらありがたいです。 >>578
馬鹿には無理だからこのままExcelを使ってろ >>578
横だが、
> 普段事務系でVBAを利用しており大変役立っている
本業があるならこれでいいと思うよ
ここの人達(特に口が悪い人たち)は、目的を忘れて道具をありがたがる傾向があるけど
本業が別にある人は、そんな人たちの道楽に付き合う必要はないよ
もし、今の業務を大幅に見直したいとか自動化したいとか考えているなら
自分で何か言語を習得して…、ではなく、そこはプロのソフト屋さんに任せるのが一番
そして本業として求められるのは、システムの要求仕様をきっちりまとめる事
本末転倒とならないためにも、要求仕様をまとめることが一番大事ですね > 普段事務系でVBAを利用しており大変役立っている
だけなら全く問題ないんだけど
だんだん進捗管理したいとか文字コード変換したいとか言い始めるやついるからな
しかもVBAしか知らないからVBAでやろうとして手に負えない
プロに任せろってのがその通り過ぎる Excel使うってのに、わざわざ他の言語勧めるやつは何か勘違いしてるように思う
VBなんて仕事する上での通過点でしかないから最低限動けばいいんだよ
職場で違う言語提案して稟議通せたやつがどれだけいるよ
完全にマイオナじゃねーか Ruby は、ファイル・テキスト処理では、無敵!
たのしいRuby 第5版、2016 逆に言えば、ExcelのしごとをするのにVBAが最適なのは当たり前
Excelの仕事はテキスト・ファイル処理だけじゃないのにRubyが無敵だとVBAのスレで言い出すバカ 唐突にRubyとか言い出すのはバカだが
ファイル・テキスト処理はExcelの仕事でもVBAの仕事でもないだろ… エクセルの仕事はVBA
まあ一理あるけどエクセルで全てが完結する仕事ってそんなにないんだよね
ほとんどの仕事でプラスαがあってそのαを処理するのにVBAは果てしない苦痛を要求してくる
なのでエクセルで仕事する部分を最小化するように設計して
他の言語を使って楽しちゃおうってわけ プログラムの勉強ちゃんとやるってんならサンプルの多いc#がいいと思う
事務仕事っていってもofficeしか弄らないなんてことはないだろうし
ちょっとしたGUIソフト作れるようになったら楽できる部分も出てくるはず 保守やユーザーサポートしかやらん社内SEには、高い開発環境なんて買うてもらえへんのや。。。 別にαの処理もVBAで余裕だが。
単純にVBAのスキルが足りなくて苦痛な処理しか書けないだけだろ。 別にC#でも良いんだけど、それでもExcelの場合はVBAの方が良いことも多いからね。
よっぽどVBAが不利になる場合以外はVBAで書いちゃうな。 VB6のことなんだけど、formにいくつかのtextbox等があって順番通りに入力させたい時ってenterキーじゃいないけどわざわざ仕込むのが当たり前?それともタブで移動が当たり前? マルチラインでもないテキストボックスでEnter飲み込んだらデフォルトボンタンが機能しないじゃん
たまにそういうのに出くわすけど嫌い >>594
ホストの移行でさんざんそういうの書いたけど
Windows的には>>595のいうようにEnterはデフォルトボタンだから
タブで移動させるようにユーザー教育するのが正解
桁が決まってたらシリアル入力のように自動で飛ばしてもいいかな
ただデフォルトボタンで画面確定されてしまうのがウザいってんで
デフォルトボタンを無効化したりすることも多かった
Webに移行してもデフォルトのsubmitさせないとか >>594
馬鹿は死ねよ
スレタイトル読めないのか? 他の言語を現場で使うのを許されるほど裁量与えられてんのかな
VBはexcelだからノーカンみたいな屁理屈で通ってるけど
自分がいない時に誰もフォロー出来ないようなシステムは使わせてもらえないわ vbaでwebサイトのhtmlを取得しようとしてるんですが、うまく行きません。
お知恵を拝借できませんか。
完全にグーグル検索に頼ったやり方で、
Dim source As Object
Set source = CreateObject("MSXML2.XMLHTTP")
source.Open "GET", "https://www.kyounoryouri.jp/recipe/42799_.html", False
source.Send
Do While source.readyState <> 4
Loop
Debug.Print source.responseText
Set http = Nothing
という感じで、NHKの「みんなのきょうの料理」のレシピ記事を取得しようとしています。
ところがsource.responsetextには、htmlのフッター領域しか入っていません。
なぜこんなことが起きるのでしょう?
試している限りだとフッターしか引っ張れないページとhtmlを全部取得できるページがあるのですが、違いが分かりません。、 行数多いから単にイミディエイトウィンドウに表示しきれてないだけじゃないの >>589
vba以外の言語で書くべき+αの仕事て具体的に何を想定してるの
うちでは多分大したことしてないから全部vbaで完結してる >>599
そのままコピペして試したけど、それで問題なくページ全体が入ってきてる
いっぺんブラウザ(IE)のキャッシュをクリアしてみ そのページが、HTML だけで完結しているとは限らない
まず、空のHTMLを送ってきて、後に、JavaScript でサーバーにアクセスして(Ajax)、
内容を取得して、HTMLにはめ込んでいるかも知れない
例えば、5ch のスレも、そういうやり方
だから皆、Ruby などで、Selenium Webdriver を使って、ブラウザを自動操作する。
ブラウザの動きと、全く同じ動きをするようにする >>601
画像処理(.NET使えないと面倒)
UIAutomation(GUI操作はどうしてもウィンドウ見失ったり不安定なのでtry-catch使えないの辛い)
という理由でこの辺はPowerShellでやってる >>604
UIAutomationはVBAでも使えるのを知らないからこういう発言になる。
つまりVBAのスキルが低くて使いこなせてないだけというわけだ。
画像処理?
これまたスキルが低いだけじゃね―の?
GDIやGDIPlus程度ならVBAでも使えるぞ。 >>603
そういう場合はIEオブジェクトを使う手もあるね。
MSXML2.XMLHTTPやhtmlfileだと早いけどブラウザ操作じゃないからね。 >>608
PowerShellでも無いだろ。
C# C#なら分かるが。
それにExcel絡みになる場合(操作した結果表示された所からデータ取ってくるとか)も結構ある。 >>606
誰もVBAで実現できないとは言ってないだろ…
上で書いてるように「面倒」なんだよ
VBAでSystem.Drawing使用時と同じくらい簡潔な画像処理コード書けるか?
UIAutomationもそう
VBAでも使えるのは知ってるけどどうしてもだらだらと長くなる
UIA extensions抜きでもパイプライン使えるPowerShellの方が綺麗に書ける
エラーも捌きやすいし
向いてる向いてないはあるんだからVBAでコード書くことにこだわる必要ないでしょ?って話だよ VBAでなければ非効率的だと確定的な処理を除いて全部、他の言語のほうが良い
誰だって楽に多くの収穫を得たいからね >>600
>>599です。まさしくご指摘の通りでした。
テキストファイルに出したら全部入っていました。
ありがとうございます。 マクロが上手く動かないと言われ、確認したら非表示にしてたグラフ作成用テンプレシートシート消されてたり、セル削除上詰めとかされてて参照セルがズレてて上手く動かないて事が何度かある
使い方シート的なのを用意して注意書きしてるけど利用者はまともに見てないみたい
こんな時はどう対処するのが一般的なの?
消される可能性踏まえてエラー処理書いたりは流石にしないよね? >>614
対処しない。もしくは説明シートをよく読めと指導、終わり 例外処理について質問です。本とか見てると例として0除算なんかがよく上がってます。適当ですけど
dim a as long
dim b as long
dim c as long
a = 10
b = 0
on error goto errorHandle
c = a/ b
exit sub
error handle
msgbox "0で割ってます"
みたいな?でもこれ例えばif(b = 0) then 〜 exit sub みたいなの入れて弾いちゃっても同じことできますよね
どういうときにerrorを使えばいいのかタイミングがよくわからないので教えてください >>616
お前みたいな無知蒙昧な馬鹿にはわからない原因のエラーが出た時にはどうするか考える頭がないのか? >>614
保護かけといても変更されたら対応しない
>>616
エラーがでるかどうか事前にわからない場合に使う >>614
テンプレートシートはveryHiddenにする。
セルを削除したり勝手に追加したりするヤツは必ずいる。ロックしても「ロックがかかっていて使いづらい、パスワードを教えろ」と言ってきたり。
ふざけんなと思いながら無視してると「あいつはパスワードも教えない、性根が腐ってる」とか言われたりw >>614
> 非表示にしてたグラフ作成用テンプレシートシート消されてたり
Sheet.Visible = xlSheetVeryHidden
> セル削除上詰めとかされてて参照セルがズレてて
シート保護もしくは名前を付けて名前で参照 なんでマクロ使えない奴らに話の主導権握られてるんだ
会社では作成者が仕様決めるんだから、従わない奴が悪いって話にしないと >>611
お前が言ってるのは「高級言語Basic最高」ってのと同じなんだよ。
ライブラリの有無の話じゃねーか。
今は知らねえがUIAutomationじゃ右クリック出来ねえとかライブラリの問題の場合もあるだろ。
俺は面倒だったけどPowerShellでもSendMessageでなんとかしたりしたが、それと一緒じゃね?
向いてる向いてないはあるがExcel絡みの場合にはVBAの方が向いてることも多い。
UIAutomationだって、単に操作して終わりならVBAじゃやらない。
問題はExcelが絡んでくる場合だ。
後は拘りだろう。
VBAから実行ファイルをShellなんかで呼び出して、実行ファイルは自分が終了時にファイルなんかに実行結果を書き出し、VBAがそれを読み込んでExcelに書き出すなんて処理はかっこ悪いから俺はやらねえ。
そういう場合はVBAで完結するように書くね。 ありがとうございます
veryhiddenはなんか見た記憶があるけど忘れてました https://www.kentem.jp/product-info/dekispart/
この 入札・技術提案・施工計画 って画面、どう見てもExcelなんだけど
いいなー、これ、いいなー
って書けば誰か教えてくれるスレッドですか?
リボンのコマンドはともかく、右端の「ツリー表示」が知りたいんですけど >>629
これはExcelじゃない
.Netアプリ >>630
思いっきりExcelって書いてるけどね。
2つめの図でしょ? インタラクティブな操作の拡張もC#でやったらVBAの出番がなくなっちゃう
ひどい 左上のアイコンが2007の頃のだし、大体がタイトルバーにExcelて書かれてるし
互換モードとかご丁寧に出てるしで、Excelと断定してたんです
右端に「ツリー表示」って出てる画像はそれっきゃ無いから間違いようが無いしで 省略してごめんなさい
脊髄反射の人へのエクスキューズはこのぐらいにしといて (←皮肉
そうですか、 カスタム作業ウィンドウねえ 知らなかった すごい助かりました
VSTOもためになります これを手掛かりに必死こいて実装に向けてがんばります <<632-633 さん、さすがです ここまでしてVBAにこだわる理由はなんなんだろう
信仰心というやつなのかな VSTOとか、EXCELにはこだわっててもVBAにはこだわってないわけだが >>637
excelにVBA以外って何があるの? エクセルで違う言語持ち出す奴は職場でちゃんと共有できてるのか?
公開オナニーみたいな状態になってなきゃいいけど 社内で共有するならVBAはありえないね
少なくとも1人の固定メンテナが決まってること
ドキュメントをブラウザで見れるように整備すること
テキストでバージョン管理すること
十分テストしたパッケージを配布すること
配布は社内のパッケージリポジトリで行うこと
これが社内で共有する時の基本な
エクセルだとバージョン管理もテストもしてないマクロをメールやファイルサーバーで配布
ろくな説明もなく飽きたらメンテナンスをやめて放置
みたいなバカな事をする人が湧いてくる >>638
とりあえずVB.NETとかC#とか
>>639-640
職場とか社内で共有とか
想定する範囲が違いすぎて議論にならんわ すまん、>>640みたいな仕事を外注せず社内で作らせる職場なんてあるのかと思ってな SIerやソフト屋さんははそれが今時だろうが、世の中色んな業種があり、ユーザーウェアとしてのExcelはそれなりに使い勝手がいい .NETで組めばすぐ終わるようなソフトをVBAでとか言われるとテンションガタ落ち、さらにそんなに掛かるの?とか言われるとイライラがとまらん Netでやるとして、その部署(会社)にあなた以外にそれをメンテ出来る人居るんですか?
ま、これはVBAでやるにしても同じだけど 殆どの場合、VBAでもすぐ終わるしな。
Excel関係ないのに無理にVBAってのは良くないが。
それにVBAなら作った奴が辞めてもどうにかなる場合も有るけど他言語だとどうにもならなくて外注しなきゃならなくなることもある。 VBAで組めるようなもんを他の言語で組んでもなんとかなるだろ。VBAで組みなおせばいいんだからw
そもそもそこまで個人に依存してる会社が問題だわ Excelが関係ないならそうだがな。
関係ないならVBAで組むわけ無いんだから。
わざわざ他言語で組むんだから何で?となりゃややこしい場合ということになる。 エクセルトリガーにしてでOutlookの処理やってるよ VBAと.net論争は不毛だよね
俺も最初は何で今更VBAをって思ってたけどね
netからしたらそもそもデータを扱うのにDBじゃなくてエクセル?ってなんだよって思うけど
エクセル縛りならVBAが最適なのは間違いないし
かと言って今からVBAを覚えるのもなぁーって事なんだよね
で それならC#でWinフォームを新規で作った方がデータならより複雑な処理も便利で簡単かつ高速で出来るかなって思うからね
アップデートもオンライン配信だし
でもエクセル縛りならVBAの一択なのは間違いない エクセルVBAができればデカイ顔できた時代と違って
今はエンドユーザーにもある程度のITリテラシーが求められている
REST APIがユーザー向けに提供されてるとかちょっと前までは考えられなかったが
今じゃ非IT系のビジネスマンでも当たり前のようにリクエストを飛ばす時代になってしまった
本末転倒な気もするがテクノロジーが進化するとユーザーも進化しないといけないんだな
専門職に任せっぱなしじゃまずいって流石に政府も気が付いた
なので小学校でプログラミングを必修化などして慌てて対応しようとしてる
子供達はいいが大人はだれも面倒を見てくれないから自分で学ぶしかない >>653
>専門職に任せっぱなしじゃまずいって
その専門職が「IT土方」と呼ばれて底辺職種になっちゃってる。誰が本気で取り組むかっての。
数年後には無かった事になってるよ。小学校の教諭にプログラミングを教えろって無理だし。
ところで、VBAができればデカイ顔ができた時代ってあったのか?
俺の知ってる限り、そんな話は聞いたことがない。 >>654
噂ではいろいろ言われてるけど実際は都合のいい便利屋さんになるだけだもんな
職場によってはVBA禁止だし
素人がVBA出来るようになればヒーローになれると妄想してるだけだろう
どんなにVBAで便利な業務ツールを作ってもたいして評価されないのが普通だわ
そんなもん覚えるなら効果的なゴマすり覚えるか昇進試験頑張ったほうが費用対効果は高い
中小零細なら評価してくれる会社があるのかもしれんけどな >>655
世の中にはIT企業以外も存在してるしむしろその方が多い。
そもそもプログラム書ける人がそんなにいない。
だから、VBAですらできれば評価される世界はたくさんあるよ。 >>656
IT企業以外の大企業でVBAを評価してくれる会社なんてあるの?
聞いたことないな。VBA禁止とかVBAはズルとかなら聞いたことあるが
やっぱ大企業のオフィスワークなら昇進試験(資格試験含む)頑張るの一択でしょ?
昔働いてた企業で他のグループ会社の営業がPC得意だけど評価されないから
PC苦手ということにしてると言ってたの聞いた時には笑ったわ VBAはズルと書くからお里が知れる。
働いたこと無い人は正直に申告しような。 >>657
>昔働いてた企業で他のグループ会社の営業がPC得意だけど評価されないから
>PC苦手ということにしてると言ってたの聞いた時には笑ったわ
これが現実なわけで。マジでプログラム書けるとか言ったら変人扱いされる、つうかされてる。
なのに、面倒な事務処理があって残業したくない、メンドくさいとなると「すき屋の牛丼奢るから作ってくれ」とか言いやがる。
まぁ、内容聞いて面白そうなネタだったらやるけど、簡単過ぎてバカバカしい時は「あー忙しい」と言ってやらない。 >>654
おまえがVBA出来たって所詮無能なんやから当たり前やろw
普通の人はデカい顔しとるし実際尊敬されとんでw >>658
大企業だと個人プレーよりチームワークを大事にする会社があるんだよ
とりわけチームワークを最重要視する会社ではVBAがズルになるケースもある
他には、その人しかメンテナンス出来ない状態になるのを避けるためのということもある
VBAツールがどうしても必要なら業者や派遣を呼べばいいというのもある 話し相手がいない老害が絡んでるだけならまだしも
今更vbaかその他かなんて議論無意味すぎて草も生えない
そもそも想定してる前提が違いすぎて議論にすらなってない
雑談続けたいなら前提合わせれば?ただし老害は除く
・処理の難易度(単純な行数じゃわからんが十数行で片付く仕事なんてほぼ簡単な処理だろ
・処理する人のスキルセットと能力(プログラムしらねーなのか、Cなら知ってるとか
・処理の影響範囲(社内のみとか外販するとかその結果を何に使うかとか
・処理を実行する環境の制約(ネットにつながってねーとか、office以外インストールできねーとか
こういうの考えるのこそこのスレの大多数であろう非プログラマーで
ユーザー側に近い人に求められるスキルじゃねーの?ただし老害は除く >>661
その場合、VBAどころか他の言語も使えないと思うけど >>660
>普通の人はデカい顔しとるし実際尊敬されとんでw
という夢を見たのかニート爺W 小さいプログラムの間は、VBA でも良かったけど、
複雑なプログラムになるに従って、Ruby の勉強コストと逆転してくる
大規模になるほど、Ruby などの方が、バグが少なく、可読性が高くなってくる。
保守コストが、言語の勉強コストを上回るようになってくる
プログラムの複雑性というのが、累乗的に加速していくから
最終的には、たった1行直すだけでも、全システムの調査が必要になってくる。
ソースコードがスパゲッティ・泥団子w もっと大規模になるとrubyも???ってなってくるぞ
そうなったらもう立派なプロだ githubはruby on rails
rubyは割と有名なアプリが多いよ
VBAで有名なアプリは…… >>663
そうだよ、プログラミング関係は専門業者か派遣
非プログラミング系の大企業のオフィスワークなんだから
VBAだの他の言語だの使われても評価のしようがないし
その人が入院したり辞めたりなどで居なくなるとメンテ出来ないんじゃ困るしで
評価の対象にしづらい。営業なり総務なりの本分で頑張ってもらうとなる
結局は昇進試験や資格試験での成績がものを言う IT系の現場ではVBA専属はマクラー()と呼ばれることが多いね 逆だろ
アマチュアのマクラーが別の板に行くべき
生涯学習板とかあるからそのへんで 日本企業の半分以上がノートと電卓だし
パソコン入れててもメールが殆どとか
表計算とか入ってても紙がわりがいいところだからね。
あんま、こだわることないんじゃないかな おかしいな、ここVBA質問スレじゃないの?
VBAアンチスレなの?? VBAの質問じゃなくて、こういうことをVBAでやりたいんだけどって質問がくるからそうなる
そういうことはVBAを勉強してやるんじゃなくて、他の方法があることを学んだほうがいいってなる
VBA縛りなのかを最初に明打っておけばいいんでね? VBAを使って彼女を作るにはどうしたらよいでしょうか? >>684
こういう所は質問者より回答者の方が集まる
回答者は基本神になりに来てるから質問者が来ると奪い合いになる
奪われた奴は全てに対してヘイトを撒き散らし始める
質問者や他の回答者へのダメ出し、罵倒
そしてVBAそのものの否定からのフルマウント狙い 派遣だけど、行ってた会社は正社員もVBA使ってる。
今まで行ったことのある大きな会社はどこも使ってた。
例えば外資系銀行。
ランキングトップ10に入っているどれか。
社内システムのチェックに使ってた。
例えば大手損保。
イントラ内でのスクレイピングとか。
何でもかんでも大金かけてシステム化するわけじゃないし、システム化を目指してのシュミレーションにVBAで仮に組むこともある。 答えが知りたいだけならググるなりstackoverflow.jpやteratailで質問すればあっという間に解決する
だからあえてわざわざこんなところまで質問に来てる人は、そういう型にはまった回答じゃなく、思考の柵
檻を広げる着想を求めてるんだと俺は解釈したね
他の言語を勧められた時に、なるほどそういうのもあるのかという、気付きを得てもらえたら幸いだね VBAを否定してる奴はレベルが低いと思うね。
出来る奴は案件毎に、その処理だったらVBAは向かないとかいう話になるんであって言語そのものの否定にはならん。
自分が出来ないのを認めたくないからツールのせいにしようとする。 わろた
向いてる処理が判断できないからVBAに執着するんだろうな >>689
向いてる処理を判断ができないとこういう処理をVBAで苦労して書くハメになりますwww どんな処理であれ他言語の人はVBAを使わない時点で分かるよね ブログラマーならVBA3行でキレるでしょ
もし他の言語サポートされたら大半の人が即ポイするだろうなこんなの 他言語の人が使ってるんだが。
ここは頭の悪い奴ばかりか?
技術的に参考になるレベルが皆無なんだよな。
自称他言語の奴も含めて。 そらvbaと聞いただけで触ったこともないのに下に見て的はずれな指摘してるだけなので… 案件そのものがVBAの話が多いわけ。
今までの経歴から判断されて。
その中でこの処理はVBAには向かないと言ったことも何度もある。
向いてる処理が判断出来ないからVBA批判になる。
面白いのは、その言語で〜は出来る、向くといった話がほとんどなされないこと。
なされても薄っぺらなものばかり。 >>686
よく、その理屈書くけどここ500レスほどの間には無いみたいだね。
稀な事例を根拠にするなんて屁理屈だよねw >>662のとおりだろ
処理がvbaに向かないって、社内で定期的に情報クローリングする程度で
プログラマーはいなくて、さらに情報はエクセルで共有とかならvbaもありかもしれない
でもクローリングする対象がhtmlで定期的に構造が変わるからメンテも必要で
しかもその情報が多岐にわたっていて、となったら外注するなり、情報公開元に構造変えないように交渉するとか
メンテがしやすい言語に変えるなり必要になる
ただ今の若手は40,50のおっさんが適当に作ったvb(a)移植案件とかで苦汁をなめてるやつも少なくないから
反射的にvba=悪なやつもいるんだろう >>701
VBAでメンテがしにくいとか、お里が知れるんだよ。
これだからレベルの低い奴は困る。 プログラマが居ないならもっと簡単で便利な言語使えよwww
なんでそこで苦行VBAに行ってしまうんだ >>703
そうだね、言葉が悪かった
vbaよりはメンテがしやすい言語にかえる、だな
俺は君のお里がvbaなのはかまわないし、それによって君の技術レベルを貶める連中もただのアホだと思う
君がほかの人間にも根拠や比較をせずにvbaを勧めるなら、レベルが低い奴だな、とは思うだろうけど 昔Macユーザーをマカーと呼んでたのを思い出すな、インフラ系だからパーラーでバッチャー、でパワーシェラーさー >>706
そもそもどこがメンテしにくいか根拠が無い。
結局ライブラリやツールの問題じゃないのかね。
で、そこそこ出来る奴なら自分なりのライブラリやツールを既に作ってると思うんだが。 自分なりのライブラリとかいう発想がなんかもう残念すぎる 文法
ランタイム
基本ライブラリ
パッケージ管理
プロジェクト管理
開発環境
情報量
何からなにまで全部クソだと思うが
デベロッパーの平均レベルの低さが致命的かな このスレで、スレが伸びているのは大概無駄話ではあるんだが、今回もご多分に漏れずか
vba嫌いな人間がここに来る必要ないと思うんだが、よっぽどvbaに嫌な思いでもさせられたんだろうなぁ VBAに良い思いさせてもらったやつなんていないだろ 今になっても具体的な根拠が示せないから笑えるな。
というか、ここにまともに組める奴なんて殆どいないんだろうな。 >>712
君は恐らくvbaで開発もメンテも困らない規模のソリューションが生業だったのと
メンテが必要なレベルのプログラムをvba以外で組んだことがないのではないかな
勝手に卑屈になってほしくないんだけど、貶めてるわけじゃない
金が払われるか、有用かどうかこそ重要で、そこを無視して言語論争してるやつはアホだと思う
で、そんな君にレガシー言語のメンテしづらさを説明しても伝わりにくいと思うので
>>ライブラリやツールの問題といういい指摘についていうと、まさにその通りだ
これが標準で使えるかどうかだけでも生産性が違う開発っていうのがあって、
どのライブラリやツールが使えるかは開発環境を決定する大きな要因になる
で、そんなライブラリやらツールが簡単に自作できる規模ならいいけど、
それで金取ってる会社もあるレベルで、それを自作するっていうのは本末転倒
要するに>>662で、頭の中にある前提が違う >>722
大文字小文字じゃね?
つーか性器表現使えばいいのに ここで質問してもほぼ無駄だよな。
質問してる事について答えてあげればいいのに、わざわざなんでそんな作り方するのだとかVBAじゃなくてよくねとかマクロにする必要なくねとかだし。
質問内容と違うことなら答えなければいいのに。 まともな回答が欲しい質問者には別のサイトが幾らでもある
ここはもうそういうスレなんだよ つまり「自称」プロがVBAをこき下ろしてうっぷんを晴らしたいだけのスレ >>726
その別のサイトを教えてくれ
公式のQ&Aサイトのことか >>728
teratail
Stack overflow
QA@IT
Yahoo知恵遅れ (Excelもしくはプロギラミング カテ) プログラミング関係のQAサイトを思いつかないって相当ヤバい思う >>731
普通の人はあんたみたいにPC方面の知識を持ち合わせていない
Q&Aサイトしかり >>733
検索スキルすら持ってないのか
低脳は大変だな 会社でエクセルを電卓代わりとかメモ用途以外に使う?
データ収集とかデータ処理とかをエクセルでホントにやってんの?
冗談抜きでヤバくない? >>738
じゃあどんな処理するときに、何使ってるのさ プロ様はExcelが大嫌いなので、シリアルデータ生成、矩形編集操作、グラフ作成でも絶対にExcelは使わない
チームや顧客の指定形式がxlsxでもExcelは使わない徹底ぶりだろう多分 いろいろ条件変えて試算、みたいな用途はExcelが一番いいと思う
既に起こった出来事をデータ化して集計するならRMDBSの方がいい
未来の事はExcelで、過去のことはRMDBSで
見積はExcelで、請求書はRMDBSで やっぱり想像通りだな。
>>721
そういうライブラリ(金取ってる)も知ってるし昔持ってたこともある(俺が持ってたのはSPREAD。今となっては古くて使えない)。
でもね、そういうライブラリってのはそれ用に勉強しなきゃならんわけ。
で、それ用に投資(勉強含め人月)しないといけない。
で、これまた上司なんかが規模と向き不向きが分からずに買ったりするんだけどさ。
昔Notes買って一切起動せずに捨ててたことあったなあ。
やりたいことを詳しく聞いたらフリーソフトで十分な内容だった。
まあ、Notesはライブラリじゃ無いけどさ。
単純にそれを買っただけじゃ意味なくて使いこなさなきゃならない。
やりたいことに見合ってなければアホなことになるんだよね。
買うようなものじゃ無くてもね。
で、クローリングの話に戻るけどさ、他言語でクローリングの勉強する意味なんてあるのかね?
だって複雑なことしたいんだったら作らせれば良いじゃん。
外注で終わりだろ。
所詮プログラマなんて底辺は使い捨てなんだからさ。
などという考えに俺は反対なんだけどね。
君の意見を総合するとそういうことになると思うよ。
俺がやってるレベルで十分じゃ無ければここにいる自称他言語のプロなんてお呼びもかからんと思うがね。
もっと上のレベルが呼ばれるだろう。
最初から他言語でクローリングして、その後も外注するほどじゃ無いって場合もあり得るわな。
結局、それで成立するかどうかだろう。
だから外注すれば良いから他言語のプロなんていらんとは言わない。
それと同じことだよ。
少なくとも俺が書いた奴は成立している。 RDBMSな
Relational DataBase Management System やで そんなフレームワークレベルの話は誰もしてなくて
標準ライブラリのレベルでVBAはうんこだってわからんかな
そもそも参照設定やらアドインやら駆使しないと外部のリソースを扱えないVBAじゃ
ライブラリっていう考えが理解しづらいのかもしれないけど VBAって有料で難しくて低機能なんだよな
マゾなのかな マクラーの演説は長いって
簡単な事を難しくする典型 まともな話のできるレベルの奴が>>721ぐらいしかいないのかね?
他は相手してやるレベルに無いな。 前提知識が時代遅れすぎて相手ができないの間違いだろ ドキュメンタリー 奇跡の古代文明の遺産 VBA その神秘に迫る >>750
相手ができないって否定しに来てるだけじゃんw
ここに来てるプロってアレだろ、開発から外された運用監視とかしてる奴ばっかだろw
オブジェク志向も理解してないような奴もいたからなwww オブジェクト指向を知ってるとVBAへの嫌悪感が高まる ちゃんと理解してる奴は要求された環境でそれなりの物を作る。
それが出来ないと騒ぐ奴は理解してないだけ。
継承しまくりのコード書いてるんだろうねw ちゃんと理解したやつは適した環境を整えてから作業するんだよ またニワカだよ。
VBAでオブジェクト志向が合う場面は少ない。
だからこそオブジェクト志向を知ってる奴だったらVBAに嫌悪感なんて感じない。
オブジェクト志向に合う場面だったら喜んでそのように組むだろう。
まともな奴ならポリモーフィズムや継承が出来なくても、そもそも気にしない。
だって分かってたことだろ。
オブジェクト志向しか出来ない奴が嫌悪感を感じるんだろう。 まあ、発言内容を見れば、そもそもどの言語も出来なさそうな奴が多いんだろうとは思うね。
技術的な話が出来ていない時点で。
ポリモーフィズムも継承もこっちが先に言及してる時点でお察し。 そもそもオブジェクト指向に合ってないからなんも感じませーんってどんな理屈だ? >>755
知ってる?
世の中にある開発案件は殆どがエンハンスだって。
適した環境を用意できる案件てどんなの?
運用エンジニアが端っこで作るちっこいスクリプトのこと?w >>757
ポリモーフィズムとか継承とかわざわざ持ち出して今調べて知った感丸出し
VBAが糞なのはそれ以前の問題だっての >>760
その割にはまともな返答来なかったけど、753の人はw >>744
>>760
参照設定しないでExcelをコントロールできる言語教えて! 技術無いの見え見えなんだよなあ。
少し分かる奴ならSPREAD持ってたと聞けば多少は想像つくんだけどね。
勿論持ってただけじゃ何の意味も無いけどさ。
話の内容から想像することもできないレベルなんだから最初から強気に出なければ良いのに。 >>759
いくらでもあるぞ
基盤のマイグレーションプロジェクトなんて腐るほど転がってる
拡張・変更の前に土台を整えましょうって話はよくあるしそうならないなら提案する
客に提案もできないようなど末端の場合は知らんが >>765
Excel VBAをpowershellに変更しましょう!って、提案するんだw >>765
まさか実行時バインディングでお茶を濁そうとしてる訳じゃないよね?
流石にマジメにそんな寒いこと言うとは思わんけど。 >>768
お茶を濁す?
すまんがお前がなにを言いたいのかわからん
言いたいことは明確にして >>764
そのためにVBAが使われたりもする。
俺が組んでるのも、俺ので成果が出たら将来的にもっと大規模なシステムに盛り込まれる予定。 >>769
実行時バインディングなら参照設定と同じことだろ。
そして、そんなことは誰でも分かるレベルの話なんだから最初の質問の時点でそれが同じという前提の質問だと想像出来るだろ。 >>770
いやーそのためにVBA使うことはないかな >>771
あなたの世界では実行時バインディングと参照設定が同じでものであると?
すまんがパラレルワールドの話になるとちょっと俺もわからんわ >>769
実行バインドなら参照しなくても外部ライブラリ使えるけど、 VBA。
ってことだろ。
で、パワーシェルでExcel操作するコードってのは実行バインドじゃねーの?
自前のライブラリなのかな、アレは?
ここまで書かないと理解できない?? >>774
だからなんだよ?
参照しないでエクセルをコントロールできる言語は?
PowerShell
完全な答えだろ >>742
俺は君がvbaだとメンテしづらいっていう状況が想像できないって言ってるから
それは君が知らないだけって返したんだけど、想像通りとはどういうことだ
その後の話も筋が通ってないし意味不明だ
適材適所で選べばいいのに、vbaでいけるだろって一辺倒の人間がつくるプログラムに
他人が苦労していることに自覚的であれば、他の方法も勉強して問題は何かがわかるだろうに
そも、今までのやりとりをみるに、君は基本的に本職ではなく、プログラミングをずっと続けてきているが
関わってきた開発も個人レベル規模なのではないか
他の選択肢を考えるにあたり、自身の無勉強故にvba盲信してるような人間は明らかに老害だよ >>775
VBAは外部参照しないとロクなライブラリが無いってところからの話なんだけどな、それ。 >>773
そうじゃねえ。
質問者に実行時バインディングもNGと言われたらどうするんだ?
そんなことも想像出来ないレベルだから低いと言われるんだ。
普通にどっちも使ってる奴ばかりなんだから。
質問者の意図が実行時バインディングだけお咎め無しなんて想像するレベルの低さを言ってるんだよ。 >>777
そう。
だから俺なんて割合としては実行時バインディングの方が多いけどアホな言及はしなかった。。 >>776
本職レベルが必要なら外注だね。
実際、今までいた所はどこもそうだろうな。
君からすると客に近い所にいるんだろうな。
客に対して、それだったらVBAじゃなくてWebアプリにした方が良いとか言ったりしたこともあったな。
予算の関係で実現せず、不本意ながら俺が組むことになっちまったが。
君は極端なんだよ。
0か100で語ろうとする。
凝り固まっていて外注という選択肢もVBAという選択肢も他言語という選択肢もあるということが思いつかないようだ。 VBAが良いんじゃ無いの。
VBAが良いことも有ると言ってるんだが。
適材適所の中にVBAも有りうると言ってる。
いつもこの話になるんだよ。
一体何度このくだりをやるんだろうな。
しかも相手の勘違いも毎度一緒。 アンカーつけてるのに全く噛み合わないレスするってすごいな
人の話を全く聞かずに自分の妄想を垂れ流すことしかできないのか >>782
VBAはクソ過ぎて適所が少なすぎる、適所じゃないのに無理やり使おうとする質問やwebサイトが巷に溢れてるって話をしてるの
やっと理解が追いついた? >>781
何で俺が君と同じ反論をしなかったと思う。
想像ついて恥ずかしいからだよ。
ついでに言っておくと参照設定もCreateObjectも使わないでExcelオブジェクトを扱う方法も少しは心当たりがある。
君は心当たり無いのかね? >>782
あり得るが無視していいほど小さな割合ということ >>784
そんなことは無い。
君のレベルに合わせるとこの言でOK。
だって君の発言自体このレベルだから。 >>788
無意味にVBAを使おうとする人からするとそうなんだろうな 根拠も碌に書かずに使いにくいと言うのと同レベルとはどういうことだろう。
根拠も書かずにそんなことは無いというのが同レベルだ。
そういう指摘さえ気が着かないんだからダメなんだよ。 そういう戯言は他の言語が当たり前に持ってるような言語機能と基本ライブラリ、エコシステムを手に入れてから言ってくれ >>789
また笑わせてくれるな。
何度同じ話をしてるんだw
それじゃCreateObjectと同じじゃないか。 >>793
さっきから聞いてると少しレベルが低いんだよね。
PowerShellでも俺の方が上かも。
だいたい、PowerShellとは用途からいって噛み合わないと思うんだが。
それに君が挙げる用途なら少なくともPowerShellなんかよりC#とかの方がまだましだと思うんだ。 VBAのスレなのに他の言語が出てくるのはなぜ?
関係のない話題NGってスレも珍しくないのにここは随分緩いよね >>794
じゃあ答えは?
マネージドじゃあねえよな >>795
やっぱ酔ってるよお前
参照なしでExcelを操作できる言語は?って質問にpowershellって答えた
それを拡大解釈して1人で納得して全く意味不明だが勝ち誇ってるだけ というかいつからCreateObjectが駄目か否かみたいな論点になってんの??
わけわからん争点勝手に作って勝手に結論付けて勝手にオナニーすんなよ >>778
つかさ
実行時バインディングもNGになったらそれこそVBAなんてポンコツのガラクタになっちまうぞ
NGする意味もわからんし 所詮、他言語といってもこのレベルの低さ。
話にならないレベルだ。 >>744に対してVBAと同レベルじゃねえかw
よく恥ずかしげもなく言えるよw >>802
何言ってるのかほんとにわかんないんだけど
プログラミングとかじゃなく国語的な意味で VBAの事を理解してないのにって怒ってるの?
だって古文みたいで理解不能で読めないんだもん
もっと現代的な最新言語で喋ってよ 当方事務職
VBAの勉強をしたい
なぜならば業務で使えたら便利だから
VBAエキスパート試験の勉強しておけば身につく?(適当) あのテキストは最初からやるにはちと不親切
尼ラン上位の本を買った方がマシかと >>808
答えられないだろうね
それは彼の頭の中にあるパラレルワールドの話なのだから >>809
業務においてネットで調べながら使うのが一番身に付く 最近、質問もなくなったね
もうVBAを使う人がいないから仕方ないか VB6の質問とか馬鹿レベルの質問を排除すれば当然こうなる >>722
UCaseかLCaseで判定させりゃ1ループでいいのにな ではこの糞スレは次スレを立てずに終了にしますね
賛成の人? ここは
Excel VBA 質問スレ Part54
なのに
>>VB6の質問とか馬鹿レベルの質問を排除すれば当然こうなる
とかって、エラ〜いプロ様はここに来るべきではないんじゃないっすか? >>818
そもそもVB6の質問するような馬鹿は排除すべき >>820
お前のような人を不愉快にさせる奴も排除すべき 安心しろ
もうこのクソスレは終了するから
VBAは結局誰も使う人がいませんでした 大丈夫だVBAスレは別にある。
ここはプロ様の隔離スレだから プロの奴らってここに来て何がしたいわけ?
似たようなレベルの奴らが集まるスレにでも行けばいいのでは?
あるのかしらんけど
でも、ここにわざわざ来るのはそこまでレベルは高くないってことなのかな?
素人を蔑んで己の鬱屈した思いを解消しているんだろ 絶対に次スレも次々スレも立て続けるしアンチなんぞに気にせずに盛り上げてくぞー
おー 自称プロじゃない人って何者?
あとこのスレになんのために常駐してんの?
弱い者達が夕暮れーさらに弱い者を叩くーみたいな構図なんじゃねーのか >>828
その人は自分で質問して自分で回答しる自演の人
そんでこのスレの保守と警備をしてる人だよ
キモいよね 俺が見る他の板では本物のプロが来るなんて滅多に期待できないんだが、プログラミングの世界は
ずいぶんプロのレベルが低いんだな。 プロと自称しても実質はVBAすらまともに使えない落ちこぼれ共やしな
てかなんでそんな無能が他人に教えたがんねんw VBAってプログラム単体でアプリっぽく出来る?
エクセルとかの中にしか存在出来ない? >>835
っぽくなら出来る。
エクセルウィンドウ表示にして、フォームだけで作ればいい >>835
何を求めてんの?
Excelを隠したいならフォーム出してる最中に
Application.Visible = False
ってすりゃ、まぁそれっぽくはなるけど、どのみちExcel上で動いてんのは変わらんだろ プログラムだけを渡せたとして
受け取った方はofficeのバージョンに関係なく空のエクセルファイルに必要データを入力してからプログラムを実行みたいな
ちょっと説明が下手で分かりにくいですよね >>838
そんなものを使わされる方が迷惑
それも人に聞かなきゃわからないようなアホが作ったとなればなおのこと 実行後のアウトプットをどうしたいのか知らんけど、
Excelを起動しなければVBAが動かないのは当然じゃないか?
あくまでもExcelに内蔵されている機能の一つだし フォーム使うと本来の処理のメンテとフォームのメンテで仕事が2倍になる
シートに直接ボタン置いたり適宜ダイアログ出して分岐させたりする程度でできるならそっちのが絶対楽だよ 連投すまん。訂正だが、VBAはWordとかでも使えるんだったな
Excel内でしかVBAを使ったことがないから頭から抜けていた
ふと疑問に思ったのだが、
Excel内のデータ処理はWord VBA等でも簡単にできるものなのだろうか? Accessでも使えるし
マイクロソフト以外ならAutoCadもVBAに対応してて3D図面が掛けるし
他にも対応してるソフトがあるかも できるよ
visual basic for (MS officeの) applicationでエクセル専用じゃないからな
てかofficeどころかMS製品ならほとんど操作できる
やりやすいか、機能が十分かは別として worksheetfunctionもExcel起動せずに使えるの? >>840みたいな人って何のためにここにいて何を思ってわざわざ書き込んでるんだろう? >>849
プロ様の人格を否定するような書き込みは控えて差し上げろ
相手はプロ様だぞ おやおや
アマチュアさん達がロジックではどうやっても勝てない事に気がついてついに精神攻撃を開始したぞ
こりゃ事実上の敗北宣言だよなあ スポーツ、学問(理系)、音楽
この辺の板でプロはほとんど来ない。
まあここではただのサラリーマンなんだろえけど、プロなら安っぽい行動するなよ。 言わんだけでなんぼでもおるわw
プロと自称しとる奴はクソばかりやけどw >>855
プロ「アマに勝ったwww」
こういう事? プロだと証明できるエビデンスがない限り、
『プロレベル』の実力があろうと、アマチュアに分類される。
所詮アマの中でマウントを取り合っているだけだ。
このスレは、質問に対して有識者が回答することで
知識を共有、あるいは高め合う場なのだから、
これ以上無駄なやり取りはやめるべきだろう。
プロ・アマ論争は本物のプロが出た時にすれば良い 馬鹿過ぎる質問はやめろ
これを主張するのにプロとかアマとか関係ない。そんな頭もないから馬鹿にされてる事に気付かないのかね。 横文字ズラズラ並べてゴチャゴチャいうやつってろくなもんじゃないよね 共有フォルダのエクセルを掴みっぱなしにするクズを駆逐するマクロを教えてください
共有ブックは挙動が変な感じになるので要件外です 会社(企業)の業務の一環としてVBAを使う という状況を想定して
ピラミッド形状の企業ヒエラルキー上位1/3を「上」 中間1/3を「中」
それ以下四割を「並」としたとき
並の手伝いとしてVBA案件、一件八万で受けたと
100件で八百万、十万なら一千万
頑張って会社(並)に自分の技術を売り込みに行くよろし さて、間違いはどこ >>855
どこかにロジックの話なんてあったっけ?
自称プロの脳内かしら w >>866
ブックを開いた瞬間から計測するタイマー仕込んどいて、5分経過したら警告ダイアログ、10分経ったら強制的に閉じる、とか よく分からないけど参照設定やらアドイン駆使しないと外部リリース扱えないという批判はVBAだけに当てはまるの?
それとも他の言語にも当てはまるの?
結局そこが問題だと思うんだ。
動的にオブジェクトを作るのはVBAでも他言語でもできると思うからその点で差は無いと思ってたんだけど違うのかな。 自称プロがいるか知らんが、ちゃんと質問に答えたうえで批判しないからいけないんだよ
なんでもかんでも否定から入る5ch脳はリアルでも浮いた存在になるって自覚したほうがいい
自称ノンプロにも当てはまる部分あるけどな >>869
1/3 + 1/3 + 0.4 が 1 にならないところ。 >>873
質問に答えていてもそれを理解できないような馬鹿が多いからな >>873
なんでもかんでも否定から入る癖直した方がいいぞ自称ノンプロさん >>872
他の言語もそうだよ
ライブラリがなきゃフツーのアプリ開発者は外部リソースを扱えない
しかしVBAはデフォルトのライブラリが圧倒的に少ない
正規表現、データベース、HTTP通信など日常的に使うライブラリすら参照設定が必要でめんどくさい
ついでに言うとVBAはサードパーティのライブラリも圧倒的に少ない
COM参照はどの言語でも使えるから差がつかない
他の言語はセントラルリポジトリが整備されておりCOMに加えて膨大なパッケージを利用できる
というかそっちがメインでCOMも選択肢の一つとして使える(けど使うメリットはほとんどない)と言ったほうがいいかな
COMはWindowsでしか動かないし生成も動作も遅い
そしてどんな言語からでも使えるように作るのでインターフェースが最大公約数的な構成になって非常に使いにくい
ライブラリ利用だけに注目してもVBAは酷い言語だとわかるね >>879
で、でたー
反論できないから悪口言って涙目敗走するマクラーwww >>878
馬鹿とはさみは使いようっていうけど、おまえは馬鹿とはさみも使えないどころか馬鹿以下だな
1000個くらいに分かれてるエクセルファイルを集計する作業とか、正規表現、データベース、HTTP通信なんていらんがな
VBAで何しようとしてんだよ(笑 『プロさん』とは
とあるサイトの更新情報を自動収集したくてエクセルでなんとかしようとして挫折した敗北者たちの事 >>882
逆にVBAだけで何してんだよ?
こっちは事務員さんのエクセル遊びじゃなくて、業務として真面目にプログラム書いてんの >>878
Excelを操作できるCOM以外のライブラリでExcel VBAより使いやすいのを教えてよ。
Excel VBAでやるのはExcel操作なんだからそれ以外で比べても意味ないよな。 >>885
昔こういうガキいたなぁ
格闘ゲームでボロ負けしたらそのキャラは強すぎるから使用禁止とかって喚くやつ
俺がまだ小学生ぐらいの頃だったかな
それとそっくりよ >>886
教えてくれないのねw
言語は目的で使い分けるから VBAも使うのよw >>887
npoi epplus closedxml excelcreator
つかさ
「excel vbaでやるのはエクセル操作だけ」これはわかる
なぜならvbaは他の用途にはあまりに使いにくいゴミ言語だからね
でも
「他の言語でexcel.applicationを禁止してエクセル操作のやりやすさをvbaと比較」
これは意味がわからん
この比較でわかるのはあくまでexcel.applicationの利便性であってvbaと他の言語の比較にはならない
言語を比較するならvbaもexcel.applicationを禁止するか他の言語でもexcel.applicationを許可するかどちらかにしよう そもそも、もしかして、マクラーってVBAとExcel.Applicationの区別が付いてない?まさかね >>889
これは正論
比較するなら縛りを同じにしないとて マクラー ren ホンダ
これはマクラーをホンダにリネームせよという命令です。 >>889
どこにも禁止とは書いてないよw
COMはWindowsでしか動かないから不便って言うからCOM以外を聞いただけだろw
VBA
だけしか使わないとか、思い込み激しいなwww >>884
何してるってかいてあるじゃん
コピペやらマージやらがなんで事務員さんのエクセル遊びになるんだよ
手段と目的はき違えすぎだろ >>895
コピペやマージってどっから出てきたんだ?
もう言ってること支離滅裂で意味わからんよマクラー >>896
COM禁止はどっから出たのか教えてよ! >>897
>>885
このレス内容じゃCOM(Excel.Application)有りのVBAとCOM無し(禁止)の他の言語を比べようとしてると解釈されても仕方がないぞ >>896
アスペ過ぎるだろ・・・
正規表現、データベース、HTTP通信とやらを使わない作業だよ
てかおまえがあげたこの例も臭すぎだろ
覚えたての単語使いたくてしょうがない小学生かよ >>898
正論
普通にそう読める
マクラーは後から難癖を付けるから厄介 >>899
ほらまたマクラーさんは意味不明なこと言う
正規表現、データベース、HTTP通信とやらを使わない作業 => コピペ、マージ
ホントいみわからん
プロがその単語覚えたてだったらやべえだろ常識で考えなよ事務員さん
これらの単語が覚えたてで使いたくなるような単語なんだっていうあなたの低次元な認識からつい出ちゃった言葉なんだろうけどさ
そう思ってるのは残念ですけど低レベルなこのスレですらあなただけですよ VBA信奉者は他の言語でなんか書いたことあんの?
一つでもあったらVBAが書きづらい、メンテしづらいって思うと思うんだけど
用途とか技術的な話なんてぶっちゃけどうでもいいんだわ
ただ単に無駄な手間が多くて使いづらいんだよボケってだけの話 >>903
確かにな、VBAを仕事でやってたこともあったが
VBAじゃなくC#Aだったら…と何度も思ったわ
プログラミングはBASICから入ったからVBAを貶したくはないんだが
いくら何でも、もう、他の言語に代えるべきだと思うわ >>898
878のコメントが無ければね〜
都合良く解釈する前に流れを読もうね! >>900
勝手な勘違いを正しいと押し付けるプロ様w! 全くおかしな話だよ。
最初に参照設定しなければライブラリが使えないと言いだしたのが>>744でしょ。
>>744碌にVBAのことを知らなかったのが発端じゃ無いの? >>903
少しは他言語も使ってるけど、VBAに関してはあなたとは逆だね。
制約のある中でどれだけその制約を越えられるかに興味がある。
VBAに関してはね。
Win32使いまくりになったりもする。
ただ、技術的に出来ても、そこまでVBAでやるべきかという場合もあるから何でもVBAでということは無い。
でも高度なことであってもそこだけで他はExcel向きな場合もあるからね。 プロさん、ここでごちゃごちゃ言う前にMicrosoftに入ってVBAを使いやすく改良してよ >>908
以前にVBAerを苦行に耐えて徳を積む修行僧のようだと例えて、マゾにならオススメと冗談で言ったことがあるが
まさか本当にそんな修行僧のような人がいるとは思わなかった
話がかみ合わないのも当然だったんだな だって自分に技術があるから。
.Netのライブラリが使えないからと簡単に逃げるのは技術が無いからでしょ。
と煽ってみたり。
色んな技術が有るでしょ。
UserFormがダメダメならCreateWindowEx使えば良いでしょう。
そんな面倒なことせずに楽をした方が良い、そういう技術もあればアセンブラと格闘する技術もあるでしょう。 結局、求められた時の引き出しの多さでしょう。
総合的に見てExcelで良い場面なのに自分の都合で否定してもそれは逃げなのでは?
客にとって一番良いことなのかどうかが大事でしょう。 まあずっと自分だけでメンテするならなんでもVBAでもいいんじゃない WinAPIを使える程度で技術力とか言っちゃうなら相当に程度が低いことは自覚した方がいい
業務系C#erも必要なら当たり前のようにWinAPIを使うしCOM実装もする
ちょっと前まではWindowsデスクトップがC#の主戦場だったから相互運用はほとんど必須の技術だったと言っていい
アセンブラなんかもコスパが悪いからわざわざ習得しようとしないだけでやろうと思えば誰でもできるだろうね 他言語で作ってもらったらメンテナンスの意味が無いでしょ。
作った会社に金払い続けてメンテナンスしてもらうだけだよ。
その会社にいなければ他言語の技術持ってても何の意味も無いでしょ。
結局雇って貰えるかどうかという話をしたいなら、VBAでも雇って貰えてるなら正解ということでしょう。
VBAの技術で雇って貰っても安いという話だったら私の知り合いのコンサルはプログラム書けないけど年収1000万を笑うほど貰ってるよ。
そういう目線で言ったら他言語含めてプログラム書いてる人なんて皆負け犬ということになると思う。 >>914
???
C#使いがCOMやWin32を当り前のように使うなどというそれこそ当り前の話を私が知らないと思ってしまうんだ。
逆に驚きだよ。
こっちがそんな当たり前のこと気付いてないと思う所からあなたの技術カが推測できてしまうんだ。 ついでに言うとアセンブラを簡単というあなたの簡単と私の簡単は違うと思う。
昔、友人がHalloWorldを拡張していくだけだからプログラミングは簡単と言ってたけど私の簡単とは違っていた。 >>916
そりゃ自分はあなたの持ってる技術なんて聞いてないし、レスからは全く技術力が高いとは感じとれないからね
技術力がある人ってレス内容にもそれが見えてくるものだけど、あなたのレスには全くそういうのはないです > VBAの技術で雇って貰っても安いという話だったら私の知り合いのコンサルはプログラム書けないけど年収1000万を笑うほど貰ってるよ。
ここ意味不明なんだが
コンサルが1000万貰うのとVBAの技術料が安いのと何の関係が? >>917
簡単というのはペーペーの新卒でその業界に入って、普通に勉強して、定年までそれで飯を食っていける程度のイメージかな
おじさんの簡単のイメージは? >>919
「プログラムと関係ない他業界のコンサルで1000万以上稼ぐ人を知ってます。
彼に比べればプログラマなど言語を問わず負組でしょう。
なのでVBAと他言語の収入比較など虚しいだけなのでやめましょう。」
かな?
この人の日本語はいつもわかりにくい >>919
1000万じゃ無いです。
少なくても先頭は1じゃないですね。
だから1000万を笑うわけですから。
VBAは仕事が有っても安いということを言う人がいるのですよ。
だからダメだと言う人が。
金は大事だけどそれだけだったらプログラム書いて金を貰うこと自体どうなのかという話になるでしょ。
所詮プログラマと言う人だっているでしょ。
安いからダメだと言うならここにいる皆をダメ出ししているようなもんですよということです。 >>918
う〜ん。
それって全く同じことを私があなたに言っても良いですよね。
そういう発言って意味有るのかな。
技術がどの程度かという点は置いといて、発言自体を評価すると賢いとは言えないと思うのですが。 なんで逃げるとかの話になってるんだ?
与えられた環境でWin32APIが必要なら使うだろ
そんな事もできないような奴の話をしたいのか?
要するにできる/できないとかのレベルの低い話じゃなくて面倒かどうかの話 >>925
言って良いよ
俺は凡人って自覚あるからね
本当に技術力があるなら、どうぞ自然と敬意を持ってしまうような発言をしてみてください
さあどうぞ遠慮しなくていいですよ >>926
つまりExcelの環境が与えられているのですよ。
その場合に本当にExcelがダメなら他言語でも良いでしょう。
私も他を勧めます。
でもここにいる他言語の人はそうでは無いわけです。
←これに反論したいかもしれませんがこのスレで何度何度もなされているのは、最初にどんな場合でもExcelなダメという他言語者からの批判に対して適材適所だというVBA側からの反論なのですよ。 >>927
あなたが凡人なら私に技術があるかどうかは分からないでしょう。
技術があるかないかについては相手の発言の中に出てきた具体的な文言から判断できることがあります。
そういうことを指摘もせずに何ら具体的なことも無しに発言しても意味が無いでしょう。 >>928
最初から全否定してる人はいないよ
本当にVBAを使うべき理由があるならくろうしてでもVBAを使うしそうでなければ他の楽な言語を使う
ただVBAを使うべき理由がそう簡単には見つからないというだけ >>930
いや、違う。
最初から全否定している人ばかりだ。
こちらは何度も適材適所だと言っている。
VBAに合わない場合は勧めないとさえ言っている。 >>929
本当に凄い人ってのはですね
凡人から見てもわかるものなんですよ
凡人から見ても高い技術力が伺えるような発言をいつまでもお待ちしております >>930
>VBAを使うべき理由があるならくろうしてでもVBAを使うしそうでなければ他の楽な言語を使う
私は同じことを同度も言っている。
それに反論してくるのはいつも他言語者達だ。 VBAオンリーになるはあくまで結果であってexcel自体が適材適所の範疇を超えて使われ過ぎなのが問題
帳票出力ツールでもDBでも無ければメモ帳ですら無いのに >>932
既にそういう発言には意味が無いと言って納得して貰っている筈ですが... >>931
なんども適材適所って具体的になんなんですかって聞いてるんですけどね
無視されるか具体性のない要領をえない答えばかりでした
ここは技術力の高い方がビシッと
「こういうときはこういう理由でVBAがベストだ。
そして過去の具体的な事例はこうだ。
サンプルツールを作ったのでよかったらみんなも試してくれ。」
ぐらいの事を言ってくれませんかねえ
誰か技術力の高い人いないかなあ 本当はVBAを使ってエクセルで何してるの?
必要ないんじゃないの? こういう時にすっと具体的な事例と論理的な解説をしてくれる人からは経験に裏打ちされた確かなスキルを感じる
あれこれ言い訳して発言を避けようとする人からは技術力を全く感じない >>928
> 最初にどんな場合でもExcelなダメという他言語者からの批判
そういう低レベルの奴らと話したいなら>>904とか俺にアンカーつけんな VBAはすごく便利なツールだと思うけどなあ
進捗管理表や申請書の自動作成等、VBAで助けられているドキュメントは多岐にわたるよ。
ちょっとした処理なら手続き型で事足りるし、プログラミングに慣れていない人でも書きやすいはず >>941
進捗管理票や申請書作成においてVBAを使う利点は何でそれは何故と考える? >>940
ここはExcelVBAのスレでしょう。
Excelと付いている時点でVBAが有利になるわけです。
制約された有利です。
もう何度もされている議論です。
1つのブックだけで済むというのも大きな有利点です。
使う人自身でメンテナンス出来るというのもメリットになります。
Excelという制約の中が前提に有るわけだから他言語はその時点で大きなデメリットになるわけです。
そういうのが大前提になっているスレですよ。
寧ろ私が言わなくても分かっているべきだと思います。
普通の、Excelとは関係ない実行ファイルを作る点においてはVBAは検討の余地すら無いでしょう。
そんなことは当たり前の話です。
であるなら当然Excelの話になった時はVBAが有利になるというのも当然頭に入っているべきでしょう。 社のセキュリティ規則で、自作の実行ファイルなんて簡単に審査通らないつーの
そういう環境すら想像できないってどんだけアフォなのよってね >>939
具体的なことを何も言えないのはあなたでしょう。
それをご自身も認めたでしょう。
それにVBAがベストな例など何度挙げられているでしょう。
根拠なき中傷しか出来ないのは哀れだと思います。 >>944
1つのbookになってしまうのでソース管理などで不利になります
ソースがあればどの言語でもメンテナンスできます
現実の業務はこのスレの中では行われないのでこのスレでの優位性には価値がありません
もう少しスキルが高そうな意見はだせませんか? >>945
それは結構有るんですよね。
バイナリエディタ入れられないからVBAで作るとか。
簡易なもので済む場合は直ぐ作れるから良いけど。
エディタとか場合によっちゃメモ帳で我慢したり。 >>947
プログラム組んだこと無い人は黙っててくれませんか? >>947
1つのbookであってもソース管理が出来るのはあなたを除いてみんな分かっていると思いますよ。
ソース管理ツールを入れられる環境であればですが。
入けられない環境なら他が有利とは言えないですし、入れられる環境なら1つのbookでもソース管理できるのはみんな分かっています。 >>945
自作の実行可能ファイルがダメでもPowershellという選択肢はありますね
そもそもセキュリティ都合で自作ツールすらNGな場合VBAマクロも制限することが多いですね
VBAでもデータベースや共有フォルダにアクセスして破壊してしまうことは可能です
そういった厳しい現場ではツールメンテナンス担当がいてその人が発行したツールをチームで使います
逆にexeだけ禁止してVBAは素通りという審査体制は非常に低レベルな現場と言えるでしょう >>950
可能か不可能かで言ったらそれは可能でしょう
不利になるとは意味が違ってきますよね
仮にソース管理ツールが無い場合でも単一のファイルでのソース管理は面倒です
特定のクラスやモジュールだけ差し替えたり再利用したい場合など日常茶飯事です
あくまでプログラムはユニットを単位として製造するものなのでユニットごとに扱いやすい形態で管理出来たほうが便利ですよね >>951
うんやっぱりアフォだな
一般的な大企業すら想像できないらしい VBAに比較するとPowerShellはゴミです。
噛み合わないからです。
ちゃんとしたプログラムならCやC++、C#などにすべきでしょう。
Excelに関するならVBAの方が良い。
PowerShellはC#使いがVBAを批判する内容が同じように当てはまるし、Excel向きでもない。
PowerShellが使えない言語とは思いませんがあなたはPowerShellの用途を理解していないと思います。 VBAなんて煩雑な業務をちゃちゃと自動化可能だから利用すんのになんで再利用だのなんだの永続的なこと言ってんの?
無駄な仕事してる無能? >>952
それ全部PowerShellの首を絞める言葉なの分かってますか?
適材適所分かっていますか?
PowerShellに向くものが有るとは思いますがあなたが言ってるのは向かない用途ばかりです。 >>942
VBAを使う利点と理由かー
@進捗管理表
利点:休日の判定や予実績の線を更新する作業が楽にできる点
予定と実績の工数を入力するだけで、誰がどの案件をどれほどやってるか一覧で管理できる。
理由:関数でももちろんできるけど、あまり関数セル多いと重くなるじゃん?グラフ操作もVBAならではだし
A申請書
利点:記入欄を自動で埋めてくれるのはもちろんのことだけど、一番便利なのは必要な書類の洗い出し機能。うちの職場では申請内容によって用意しなければいけない資料が色々あるんだけど、
所定のマクロに申請内容を入力するだけで、
他フォルダの中から必要なドキュメントだけ、記入を終えた状態で持ってきてくれる。
理由:前述した所定のマクロファイルそのものが、申請書でもあるのよ。せっかくExcel内のデータを使用するならVBAを使った方が良いと思っている
以上。
ほぼドキュメントの利点を言っちゃってるけど、
そんな便利なものを作れる = VBAの利点だよね 追記すると、
VBAそのものの強みは、やはり普及率が高いOfficeにくっついているという点と
プログラミング初心者でも取っ付きやすい点だと思う。
環境設定なぞ必要ないし、実行するのも簡単。
とにかくお手軽だよね。社会人のほとんどが実行できる環境を手に入れているプログラミング言語なんてVBAくらいだと思う >>954
噛み合わないとはどういうことでしょうか?
具体的におねがいします
PowerShellの主な用途は日常作業の自動化やシステム管理ですが、
ちゃんとしたアプリケーションも作れます
GithubでのPowerShellプロジェクトは5万ほど、VBは3万程度です
すべてがちゃんとしたライブラリやアプリというわけではないでしょうが傾向はわかりますね
ちなみにVBA単体はgithubに検索候補としてリストアップされていませんでした(つまりVB.NETやVB6なども件数に含まれます)
PowerShellはCOMも.NETも使えるのでもちろんExcelに関する仕事もできます
C#がVBAを批判する理由は、
貧弱な文法やベーシックライブラリ、低機能なIDE、賢くないインテリセンス、
ソースやパッケージの管理しにくさ、セントラルパッケージの不在
などです(他にも多々あるでしょうが)
これらはPowerShellが備えているものばかりです
VBAを批判する理由は全く当てはまりませんね >>955
VBAは業務処理をちゃちゃっと自動化するにはやや面倒すぎるプラットフォームです
その用途ならPowerShell、python、rubyがおすすめです
特にPowerShellはインストール制限が非常にゆるい(現在サポートされてるWindowsにはほぼ完備)のでどこででも安定して力を発揮してくれます >>956
全く首をしめてませんね
PowerShellはテキストファイルですしファイルの分割が容易です
ユニットごとに管理するのはお手の物です
当然ソース管理ツールとの相性は抜群です
察するにあなたはPowerShellを使ったことがないようなので
とりあえずPowerShellを試して見てはどうでしょうか >>944
こいつには何を言っても無駄かもな…
現状で有利/不利とかのレベルの低い話じゃなくて面倒かどうかの話 自分がVBAを避ける理由は単純でMS Officeのロードマップに位置付けが無いから
MSのリソースも限りがあるんだし、
VBA好きならPythonやjavaScriptの話が出る時点で大反対すべきだと思うんだけど >>957
悪くないユースケースですね
自分は進捗管理にはRedmineなど他の管理ツールを使いますが
エクセルしか無い場合はVBAのほうが手っ取り早そうですね
申請書に関してはメリットには感じませんでした
入力と出力書類は分離したほうが管理しやすいと思いますよ >>958
普及率と難易度でいったら該当する言語はPowerShellではないでしょうか
コンソール恐怖症の人が多いのはわかってますがpowershell_iseもあるのでチャレンジして欲しいですね
VBAだとあんなに面倒だった処理がこんなに簡単に、と驚くはずです >>964
文面からしてお前のスキルが低いだけじゃね?
ほんとにプログラム組める? VBAはいらないって本当なら VBA自体が無くなるんだけどね、MSもまだ無くさないみたいだし。
本当に必要無いなら次スレもないでしょう。
ってだけなんだけどねw
VBAスレ来て必要無いって騒いでる奴は何がしたいんだか、わからんよねw >>964
うちの職場はソフトウェアのインストールについてかなり厳しくて…
あるもので対処せざるを得ないところがありますね。
それを踏まえると、ツールはExcelで作るのがベターなのです。職場によって正解は様々でしょうね。
申請書について厳密にいうと、表紙となっているExcelが、申請内容を記載するマクロとなっていて、そのマクロに申請内容をチェックするのです(@新規・A廃止…等)。マクロ内のチェック箇所がデータ
としてのインプットと言えますね。
該当する項目の申請書を指定したフォルダにコピーし、必要欄の記入をしてくれるというのが一連の流れです。
申請書についてはもっと良い方法があるのかもしれませんね。
こういった改善方法を探すのも、SEの醍醐味です。 >>958
> 社会人のほとんどが実行できる環境を手に入れているプログラミング言語なんてVBAくらいだと思う
お手軽かどうかを別にすれば>>965が言ってるPowerShellに加えてC#とVB.NETもあるよ >>965
主張は分かるけど、VBAが性質上事務系の職場でよく使われていて、他の開発環境を入れたりOSの付属物であってもアップデートが難しいことは考慮してほしいわ
・OSはWindows7
・PowerShell(ISE)は2.0
・VBA以外の開発環境は導入できない
が、ここにいる人たちの環境のほとんどだと思う >>959
自分で書いてて分からないんだから...
要するにPowerShellはバッチ処理向きということ。
VBAはそういう用途も出来るけど、目的が違う。
Excel上で動かすのが基本になる。
データベースに接続してデータ集計するのはどの言語でもできる。
今日の集計じゃ無くて昨日の集計を見せてくれと言われて太字で囲まれたC3セルに昨日の日付を入れて隣のボタンを押して下さい言うのがVBAの用途でしょ。
それにちゃんとしたアプリケーションも作れますなどと言うから驚き。
あなたがVBAを批判する内容を見ればそんなことは言えないでしょ。
C#に比べてどんだけ面倒なんだよ。
そんな言い訳が通るならあなたのVBA批判にもまったく同じ言い訳が出来る。 >>971
その環境は2020年に消えるし、遅くとも2023年にはOSバージョン分離は解決するよ
Officeのバージョンは知らんけど 別にVBAが無くなったら代わりのものを使うでしょ。
VBAだってその場の環境に合っていただけ。 >>971
適当にググったらこんな記事がありました
ttps://news.mynavi.jp/article/20180104-566132/
2017年12月で月1%差が減ってるのでこれだと逆転ももうじき…かもしれませんね リストビューなんだけども、タブ区切りテキストファイルを読んでリストビューに追加をwinxpでやったやつを、win10で書き換えたら、一段ずれるんだけど正解の書き方ってなに?
listitems.add.SubItems(1) = ○○ >>974
>別にVBAが無くなったら代わりのものを使うでしょ。
じゃ、代わりのもの出してくれよ >>972
>データベースに接続してデータ集計するのはどの言語でもできる。
何度も言われてますがそれはみんなわかってます
以下に手軽に安全にできるかというところが焦点です
VBAでは型安全なORMフレームワークもないでしょう?
>今日の集計じゃ無くて昨日の集計を見せてくれと言われて太字で囲まれたC3セルに昨日の日付を入れて隣のボタンを押して下さい言うのがVBAの用途でしょ。
これがVBAの使い方だとしたらガッカリですね
PowerShellならオプションで日付を指定すればいいですし
なんなら日付選択とボタンを配置したフォームを起動してもいいでしょう
たったコレだけのためにアプリケーションレイヤ以下を面倒なVBAで書くのはあまりにも非効率的です
>それにちゃんとしたアプリケーションも作れますなどと言うから驚き。
PowerShellはバッチが最も得意分野ですがFormsもWPFも使えますし単体でWebサーバーにもなりますのでリッチなアプリを開発できますよ
VBAと違って自作パッケージ管理もよく整備されてますし、セントラルパッケージも充実しています
特に大きな違いはユニットテストがサポートされていることでしょうかね
ちゃんとしたアプリケーションでは迅速かつ正確なテストは不可欠です
Pesterと言うパッケージなのですが実はコレPowerShell V5から(つまりWindows 10から)はMicrosoftのお墨付きでデフォルトで入ってます >>977
それこそPowerShellでいいだろ >>973
いや〜そりゃ希望的観測すぎるんじゃ
XPのように7はかなりの期間残るよたぶん
ただまぁ確かにWin10が標準になればPS5.0(.NET4.5)が使えるようになるから、Excel以外の処理はそっちで…って事例は今より増えてくるだろうけど
肝心のExcel操作はどうだろう
理想を言えばMSがImport-Excelで欠けてる機能全部作り込んでPowerShell標準のコマンドレットとして提供してほしいけど、無理かなぁ
Python搭載よりよっぽど現実的だと思うんだけどなぁ こうやってみてるとPowerShellって凄いんだな
そんな事まで出来るんだ
知らんかったわ >>978
検討に値しない。
C3セルに入力と隣のボタンが最重要なのに。
そういう話すら理解出来ないんじゃ。
コード変更しちゃダメでしょ。
そういう用途じゃ無いって言ってるのに。 >>977
???
無くなったらExcelPythonなりExcelVB.Netなりが出てくるでしょ。
そういう話想像も出来ないの? >>978
リッチなアプリをPowerShellで作るのは面倒という批判に耐えられないだろ。
君の批判そのものなんだから。 まずC#の方が全てにおいて上だよ。
PowerShellに比べれば。
そしてそれに反論しようとすれば基本的にVBAと同じ論理展開になる。
用途が違うというね。
つまりPowerShellは全てにおいて中途半端とも言える。
VBAを批判する者の論理を進めていくとそういうことになる。
だからPowerShellユーザーのVBA批判は検討に値しない。 >>985
> まずC#の方が全てにおいて上だよ。
なら、C#で作ればいいだけ 事務システムの委託開発業務なんてよく成り立つよなあ、って驚く。
そんなのアウトソースするまでもなく社員がちょちょっと自分で作って完結させればいいんだし、
逆に言うとそんなふうにならなけりゃ米中に競争力で勝てない。
VBAでもPowershellでもなんでもいいよ。
プロの開発者はそんな委託仕事じゃなくて国際市場で勝負できるプロダクト作ってほしいものだ。
と常日頃思ってる自分にとって、ここでの議論は気に食わない部分が多少ある。
だから「プロがこんなとこに来るんじゃねーよ」と言いたくもなる。 >>985
まずPowerShellはC#コードをコンパイルして実行できるためC#の機能の大半を包括しています
その上でPowerShellはC#にない高級なコマンドレット、カジュアルな文法などを持っています
また、もともとシェル系言語ということもありサブプロセスとの連携やリモート処理はC#よりもだいぶ得意です
C#は強力な型システム、業界でも屈指の高い生産性を誇る非同期処理、
Visual Studioとの高い親和性などPowerShellにはない強みも持っています
そしてPowerShell実行環境はマネージドライブラリとして提供されているため、当然ですがC#からPowerShellを実行することも可能です
一方でVBAにはこれといって目を引くような強みはありません
互いに非常に強力な機能を持ちつつ、相手より得意な分野があり、相互に連携可能なC#とPowerShell
これらとVBAを同じ目線で語ることは不可能でしょう >>988
まず、PowerShellはC#コードをコンパイルして実行出来ません。
あなたがVBAを批判する時に良く出てくる面倒だとかいうフレーズはVBAでも「〜すれば出来る」というこちらの回答に対してでした。
ならばPowerShellに対しても「〜すれば」という場合は出来ないと判断すべきでしょ。
PowerShellではPowerShell ISE以外で開発することは出来ません。
VisualStudioとの親和性?
そんなものは全く有りません。
あなたのVBA批判を元にすればそういうことになります。
VBAに対しては全ての条件を厳しく、PowerShellに対しては全ての条件を優しくでは困りますね。
VBAでも制約がある中で工夫でそれを乗りきっているわけです。
そういう工夫を否定するならPowerShellにおける工夫も否定して発言してもらわないと困りますね。 >>986
私はPowerShellの適材適所を認めています。
しかしVBE批判者の論理に則ればそういうことになるということです。 VBA は、Excel とか、人間が見て、表に書き込む用途には良い
でも、ボタンを押して、DB・ファイルI/O・テキスト処理などをする場合、
PowerShell, Ruby が適している
これらを、VBA で書くのは地獄だろ。
数行のコードが、数百行になる。
百倍!
Excel エンジニアは、プログラマーじゃないけど、
これらの処理は、プログラマーが求められている業務だから
仕様書・テスト・保守とか、ソフトウェア開発の領域だから、
Excel の領域をはるかに超えている
普通は、目標からツールを選択するけど、
先にツールを決めた場合は、やれる事を限定しないといけない
どこかに、そのツールを使っていくと、非常に不利になってくる分岐点がある。
そこがそのツール・技術・技術者の限界で、
新技術へ以降しなければならないというサイン! >>991
>DB・ファイルI/O・テキスト処理
ユーザーが手元で作ってきた経緯が長い(下手すると10年以上)から、そういうのはオレオレ便利ツールが揃っているんだよ。
オレオレであったとしても大抵のことがPowerShellやRubyより少ない行数で書けて、品質が問題なければ十分。
十分てのは「わざわざプロに委託するまでもない」ていう意味。
大企業で異動が頻繁ではないユーザー部門だったら多くはその程度のレベルには行ってる。
もちろんExcel、VBAオンリーじゃないけどね。
逆にIT部門の方が全然ダメだったりする。 >>991
スクリプト言語と汎用言語の違いがわからない痛い人なのかね? いい加減うぜーからどっかいけよクソアスペ
VBAに文句言ってる人がどこに文句つけてるのかまったく理解できてないから話も通じないしかみ合わない 一見マウント取ってボコボコに叩いているように見えるも彼が何と戦っているかは誰も知らない >>989
PowerShellはC#コードをコンパイルして実行出来ます。
あなたの知っているPowerShell?と本物のPowerShellは別もののようです。
あなたは違う製品をPowerShellと誤認識している可能性があるので、まずは確認をおねがいします。
ただの言葉遊びですね
「〜すれば出来る」という抽象的な文にしてしまえば、まるでVBAもPowerShellも同じであるかのように錯覚させることができます
実際には「〜」のボリュームにて果てしないほどに差がつきます
PowerShellはISEのほかVisualStudioCodeでの開発がMicrosoftによってサポートされてます
VisualStudioにもPowerShell MVPの方が作成したPowerShell Tools for Visual Studioという拡張があります
結果的にVBAに厳しくPowerShellに優しく見えてしまったのかも知れません
ですが評価とは本来そういうものです
成績が悪いのはいじわるされているからだ、などと大人気ないことを言われては困ります
欠陥を補うための工夫と、より良い結果を導き出すための工夫を混同してはいけません
PowerShellはVBAのように足りないものを補うために頭を悩ませることはそう多くはありません
頭を使うなら、どんなものを作ればより高い価値を提供できるのか、について考えるべきです
人間の脳は有限なので、開発基盤由来の困難解決に脳のリソースを使うほど、品質向上のための脳のリソースが減っていきます このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 56日 14時間 55分 20秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。