Excel VBA 質問スレ Part64

■ このスレッドは過去ログ倉庫に格納されています
2019/12/02(月) 23:43:54.18ID:ngrqyTy20
!extend:checked:vvvvv:1000:512

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part63
https://mevius.5ch.net/test/read.cgi/tech/1568630099/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/02/23(日) 10:00:28.85ID:wq/R6u2w0
>>712
ああコンストラクタの引数の話を言ってたのか
これは確かにVBAではできないし俺もすげー不便に思う
タイプ量の話じゃなくて別に初期化関数持つのがダメダメ
2020/02/23(日) 10:02:34.10ID:unOBnpssx
>>713
タイプ量はステップ数やコードの可読性低下、人件費とほぼ正相関するので、オーバーヘッド抑制のために下流はもちろん中流以上のPMクラスでもケアしなきゃならない基本中の基本だぞ
いつの時代も変わらない
2020/02/23(日) 10:22:38.92ID:wq/R6u2w0
まだこんな老害がいるんだな…
変数名は1文字に限るとか?w
2020/02/23(日) 11:03:51.11ID:unOBnpssx
読解力皆無で笑える
2020/02/23(日) 12:08:50.82ID:sbceR+SQ0
>>706
変換テーブルでも用意するしかないですかね。
2020/02/23(日) 12:47:04.17ID:wq/R6u2w0
>>717
揶揄されてることも理解できないとか可哀想ですらあるw
2020/02/23(日) 16:21:03.27ID:dmBvCqf60
タイプ量ってwww

いつの時代だよ。
というか、タイプ量少ない奴は寧ろ組みたく無いわな。

頓珍漢なロジックで余計なことやってることでタイプ量がが増えたので無い限り、そんなもん気にするバカは真っ先に要らない。
721デフォルトの名無しさん (スッップ Sd1f-ftqI)
垢版 |
2020/02/23(日) 16:41:58.26ID:EF3UNxNad
そもそもVBAは構文が長いって話なのに
プログラム全体で見てば間違いなく長くなる
でタイプ量の話は流れの中で出て来た少ない方が良いよね程度の事なのに絡まれてる人が気の毒だわ
2020/02/23(日) 17:21:12.88ID:ot72o1TpM
>>721
> タイプ量の話は流れの中で出て来た少ない方が良いよね程度の事なのに
老害にはそうでもないみたいよw ⇒ >>715
2020/02/23(日) 17:46:51.73ID:tUguP7M50
デジャヴかと思ったら
>>565再来なん?
2020/02/23(日) 18:31:17.82ID:ot72o1TpM
>>565自体が最小構成ソースとかのオレオレ用語で意味不明なので再来かどうかもわからん
2020/02/23(日) 18:38:52.53ID:YcvTMcMQ0
構文レベルのタイプ数の多さはまともなIDEがあれば気にならない
つまりExcelのVBA環境だとゴミクズ
2020/02/23(日) 20:58:50.89ID:9ZBd+yN40
そもそも言ってる内容が正しいとは思えないが、そこは議論の余地がなくはない
それよりオーバーヘッドって用語、使い方が間違ってると思うぞ
2020/02/23(日) 21:57:21.45ID:2PAuLkEda
タイプ量が長いのもあるけど
コードが長いと注意が分散されてミスに気付きにくくなるというのはあると思う
宗教戦争になるけど
2020/02/24(月) 16:11:57.17ID:1tltuveE0
深さ不明の入れ子の連想配列があります。
値は数値一つか、一つ以上の連想配列のどちらかです。
下記の様にタブインデントの回数で位置を示した図をテキストファイルで作成したいのですが、どうすればいいでしょうか。

A
B
C 653
D 993
E
F
   G 534
H 331
2020/02/24(月) 16:13:00.23ID:1tltuveE0
スペースが潰れてしまったので修正します

A
 B
  C 653
  D 993
 E
  F
   G 534
H 331
2020/02/24(月) 16:28:54.55ID:pOROlutlM
VBAを投げ捨ててyamlにする
2020/02/24(月) 16:29:30.10ID:BJsPLhtxr
みなさんコード打ちはJIS配列でしていますか?
USのほうがやっぱり打ちやすいのかな
2020/02/24(月) 16:48:26.70ID:OWwFgx4ma
VBA使ってる即ちプリインストール厨なんだから職場貸与のJISキーボードに決まってるでしょ
道具に拘ること自体は否定しないが、そんな奴がVBAなんてストレスMAXじゃないか?
捻れが大きすぎて正常な精神を保てなそう
2020/02/24(月) 17:00:35.65ID:1tltuveE0
>>730
VBAでお願いします
2020/02/24(月) 17:02:23.23ID:zhSNWlOe0
JSON VBAでぐぐれ
2020/02/24(月) 17:50:57.41ID:l6OFRdVP0
いやだ
2020/02/24(月) 19:43:10.92ID:jjjPoigmx
>>728
連想配列とネスト深度を引数にとって出力を返す再帰関数を作る
連想配列の第一要素の型が数値ならば普通にネスト深度とKeyとValueから出力内容を生成して返し、連想配列だったら更に自身を呼び出すようにすれば良い
2020/02/25(火) 09:26:37.66ID:d82kFCO70
>>728
普通にやっても問題ない
2020/02/25(火) 09:59:23.47ID:9IyrqwVFM
VBAを気持ちよく使い続けたいなら、今与えられている環境が最高であると信じて疑わず、余計な知識を仕入れないことだ
特に、作業環境に拘りはじめるといずれ確実にVBAがボトルネックであるという考えに至ってしまうため非常に危険
2020/02/25(火) 10:39:35.32ID:d82kFCO70
仕事なのか趣味なのかで取り組み方は全然違うぞ
2020/02/26(水) 19:10:12.76ID:vsXFrrYA0
VBAで何でも作れると、VSなんて要らないと思われてしまうため非常に危険
741デフォルトの名無しさん (ワッチョイ 0b94-ctjd)
垢版 |
2020/02/26(水) 20:09:04.34ID:JVb++aVC0
VBAで何でも作れるとは?
2020/02/26(水) 20:15:42.46ID:rKAt0si0d
何でもは作れないわ、作れる物だけ
2020/02/26(水) 20:28:14.58ID:Ll3mA7qnM
excelVBAでDDEexecution使ってあるアプリを操作し、
そこでクリップボードに取得した画像をアクティブシートに貼り付けたいです

DDE経由で取得したクリップボードが空っぽなのですが、
DDEterminateする前にオブジェクトに移さないとダメなのでしょうか?
2020/02/26(水) 20:37:33.48ID:8sZglkar0
別言語いじると、元言語に戻ったとき、思わぬブレークスルーがあるので、別言語は是非やるべきだと思う。
2020/02/26(水) 21:08:39.92ID:+cz27N880
今やるならAWSだろ。
2020/02/26(水) 22:51:04.88ID:UkD+a9vW0
VBAでそこそこの物を作れるとは思うが他の言語使えるならわざわざVBAなんて選択しないよ
なので>>740が何を主張してるのかよくわからん
2020/02/26(水) 22:52:21.57ID:+cz27N880
じゃ、なんでこのスレいるの?
2020/02/26(水) 23:20:52.00ID:UkD+a9vW0
VBAでやらんといけない場合もあるから
ってことも想像できないの?
2020/02/26(水) 23:32:57.96ID:+cz27N880
じゃ他言語が使えてもVBA使うことあるってことじゃん、何言ってんのこいつ
2020/02/27(木) 00:05:00.80ID:RMeeA8fN0
日本語の理解力なさすぎw
他の言語が使える(状況)ならって話な
2020/02/27(木) 00:14:45.62ID:5xLWm1lA0
じゃ、状況って書けよ
VBAでそこそこの物を作れるとは思うが他の言語使えるならわざわざVBAなんて選択しない

この表現から「状況」って単語を読み取ってほしいって自分の言葉足らずを認めず他人をなじるただの馬鹿としか思えんわな。
素直に謝れよw
2020/02/27(木) 00:17:32.13ID:5xLWm1lA0
「小学生並みの表現力が誤解を招いたにもかかわらず悪態をついた卑しき自分が存在してすみません」って言え
2020/02/27(木) 04:21:27.06ID:NxJu2KcC0
たしかに「使える人」「使える状況」どっちにも読めるけど、俺は初見では「使える人」の方だと思った

判断の理由は、まずこの文章には主語がないこと
そこで想像で「俺は」を補い読み進めると、次に同じ文章の中に「作れる」「選択しない」という単語が、また主格を伴わずに出てくる
この場合は、すべての動詞の主体は「人」だと判断するのが自然
754デフォルトの名無しさん (ワッチョイ 0b94-ctjd)
垢版 |
2020/02/27(木) 04:35:15.51ID:PX1R20t40
ネチネチとクドい言い方がキモいよ
2020/02/27(木) 04:55:30.05ID:RMeeA8fN0
理解力足りない奴がクドクド夜中まで大変だなw
2020/02/27(木) 05:05:43.27ID:F9flkDmPd
4時21分は夜中だけど4時55分は朝
757デフォルトの名無しさん (ワッチョイ 3a26-7qQN)
垢版 |
2020/02/27(木) 05:27:02.00ID:1NTaOPIN0
文章力低すぎて試験で失敗したタイプ
2020/02/27(木) 06:51:41.59ID:6N44UBOdM
文章力で試験に失敗とかそんな経験ないけどなw
そもそも今時ム板見てる人でVBAだけ使える人って珍しくね?
2020/02/27(木) 09:46:48.05ID:RXnANkEf0
論点ズレズレで遊ぶ大人(外見だけ)?
2020/02/27(木) 12:41:36.10ID:6N44UBOdM
試験とか言い出して論点ずらそうと必死な奴を虐めるなよw
2020/02/27(木) 14:04:05.59ID:XYBaslRL0
CGだとわかっていてもwww
2020/02/27(木) 14:16:04.01ID:xizTLawga
>>756
わかる(わかる)
2020/02/27(木) 15:36:14.26ID:C8kQhi5I0
言葉の内容じゃなくて表現に文句つける奴は大体無能
完璧な意思疎通なんて無理なんだから曖昧な点は都度確認して
ああそういう意図だったので済むのにネチネチとなんの生産性もない
2020/02/27(木) 18:40:02.39ID:cb25kGwba
せやかてクド
2020/02/27(木) 22:04:00.42ID:d4EgxlqA0
わふー
2020/02/27(木) 22:06:00.45ID:JMJaKBCQ0
>>742
VBA で何でも作れるのでは?
だって win32api を自由にコールできるのだから
2020/02/27(木) 23:43:30.37ID:qWPXm1F00
>>766
非同期処理や並列処理はできないやろ
たぶん
簡単にできるなら書き方教えてほしいっす
768デフォルトの名無しさん (ワッチョイ 678a-mhrx)
垢版 |
2020/02/28(金) 06:19:02.24ID:unYBun0f0
それはズルいだろって言われそうな方法なら…。
2020/02/28(金) 06:20:10.17ID:L+KjVouD0
C#とかで処理してVBAに渡すとか?
2020/02/28(金) 07:09:52.34ID:yw4NYUGs0
別のEXCEL(多数)起動して並列処理もどきをやったことはあるんですが、無理やりな感じは否めないかな…
ソース(ファイル)も分散するし
(プロジェクトとしてフォルダに纏めるくらいしか…)
VBAの知識だけでできるのはいいんだけど
771デフォルトの名無しさん (JP 0H27-iWdh)
垢版 |
2020/02/28(金) 10:20:28.33ID:zXCoNy+pH
sendkeysを使って
他のアプリを操作し
ctrl +pgdnをしたいのですが実行されません

SendKeys"^{PGDN}",True
2020/02/28(金) 12:25:39.80ID:2j7Cc3iW0
>>771
まず第一に、SendKeysの確実性はそんなに高くないので、正しく記述しても必ずしも毎回動くとは限らないということを理解しておく必要があるよ
その上で
アクティブなウインドウに送るので事前に他のアプリをアクティブにしておく
他のウインドウをアクティブにするのにウインドウタイトルを指定する必要があるのでその記述にも気を配る
他のウインドウがアクティブになるのにタイムラグがあるのでSleepとかを使って調整する必要があるけどVBAには無いのでほかから借りてくるかApplication.Waitで代用する
どうしても動かない場合は、もっと簡単なケースで試す
2020/02/28(金) 17:21:36.80ID:eDNEl8wD0
Excel21016
現在フォルダを指定してその配下にあるファイルの一覧をシートに記載するのを作成中なんですが。
FileLen関数でファイルサイズを出してるんだけど戻り値がLiong型でそれを越えるファイルだとマイナスの値が
返ってきてしまう。そこでFileLen関数以外で正しくサイズを返せるものあるいは工夫ってあります?
2020/02/28(金) 18:23:01.43ID:MtqAk8k50
Scripting.FileSystemObjectのFile.Sizeを使うとか
2020/02/28(金) 18:24:45.49ID:tYO2NqnQa
入力ミスかw
2020/02/28(金) 18:31:00.61ID:J9MIpREGM
FileSystemObjectを使う機会は増えたな
2020/02/28(金) 18:54:32.55ID:eDNEl8wD0
>>774
ありがとう。調べて作り直してみるよ
2020/02/28(金) 19:38:05.63ID:XpFHUdRGa
vbaのlong って最大いくつ?
2020/02/28(金) 19:53:42.22ID:04Y2DCb30
符号付4byteだから(256^4)/2-1
2020/02/28(金) 20:02:10.27ID:aE85awzW0
>>778
2G
2020/02/28(金) 22:10:29.04ID:KGz3N4NDa
2G越えるファイルexcelで読むの?
2020/02/28(金) 22:12:17.34ID:KGz3N4NDa
あ、一覧か
とりあえず負の数なら強引に変換するとか
2020/02/28(金) 22:50:10.05ID:aE85awzW0
それでも4Gまでしか扱えないから困るんじゃない?やっぱり根本的に解決するにはFSOが必要だよ
2020/02/29(土) 01:59:32.20ID:nzXCWKfq0
LongLongってVBAで使える?
2020/02/29(土) 06:46:07.87ID:PnWd0bax0
>>784
Officeが64bit版なら使える
2020/02/29(土) 08:45:02.05ID:yVx3ckV70
>>773
無理にVBA使わなくてもBATでいいんじゃ・・。
2020/02/29(土) 10:00:21.23ID:8kABrwU4d
>>772
Sendkeysなんて絶対使わないというぐらいの考え方であるべき。
Sendkeys使うぐらいならWM_KEYUP使う。
普通はWM_COMMAND使う。
2020/02/29(土) 17:24:40.65ID:pn9TVa1rd
でもWindowsの設定とかストアアプリ系に入力したい時そういう考えだと詰む
2020/02/29(土) 19:33:22.04ID:8kABrwU4d
>>788
つまねえよ。
方法なんていくらでもある。
2020/02/29(土) 19:49:03.27ID:aTMkJ8LJ0
>>789
Windowsの設定はいいとして、ストアアプリ系で他に使えるいくらでもある方法教えて下さい
2020/02/29(土) 19:55:39.58ID:yVx3ckV70
>いくらでもある

何か前にも聞いたことあるな。
いくらでもある → 具体的にはどうするの → 絶対答えられない のパターン。
前とは別の人だといいね。
792デフォルトの名無しさん (スプッッ Sd8a-ctjd)
垢版 |
2020/03/01(日) 01:31:17.39ID:08o/9f1Pd
WindowsPhoneとかストアアプリとかアッというまに消えたよね
2020/03/01(日) 14:55:22.38ID:HFjntDoM0
消えたのか、どうでもいいけど
2020/03/01(日) 20:39:03.78ID:pGVc13rd0
作る側の負担が大きい上にメリットがない
2020/03/01(日) 20:39:37.46ID:0p2p+SL30
>>790
その詰むというアプリは具体的に、何てアプリで、どこで詰むんだよ?
アクセシビリティやUIAutomationもダメなのか?
2020/03/01(日) 21:13:10.43ID:e3qx9Rp60
>>795
アクセシビリティって何すか?
2020/03/01(日) 21:20:05.52ID:l9YkKU150
その人じゃないが、UIAutomationのinvokePattern.Invokeでフリーズして詰んだことはある。
2020/03/01(日) 21:23:39.21ID:l9YkKU150
>>796
多分IAccessible。
2020/03/02(月) 00:30:19.58ID:lG3i9xSc0
>>798
多分も何も、それ以外有るまい。
UIAutomationの前身だろ。

>>797
それは何かが足りないとか、他の方法も駄目なのかとか、いろいろ回避策有りそうだが。
2020/03/03(火) 15:10:58.72ID:7/oOWVG0M
プログラミング言語人気ランキング2020
https://active.nikkeibp.co.jp/atcl/act/19/00124/

使用している言語のトップ10内にVBAが。まあ、実際そんなもんでしょう
C/C++がトップなのは日経がゆえなのか…
PL/Iが出てるのが懐い(ToT)
htmlが違和感。まあ言語だけど…
2020/03/03(火) 17:19:11.87ID:JZf49imxr
>>800
全部ウィンドウズでできますか?
2020/03/03(火) 18:02:04.76ID:ZNfWdjcz0
>>800
COBOLがC#の1/3もあるのか
すごいアンケートだな
2020/03/03(火) 18:59:05.76ID:tIhoJqwEa
rubyってこんなもんか
2020/03/03(火) 19:26:06.93ID:b2+NWnE80
COBOLは使いたくなくても使わざるを得ないんだよ
2020/03/03(火) 20:03:07.46ID:AJx5UoX4M
まあ業務で使ってる言語ならそれほど違和感無いな
なんだかんだ言ってC/C++はつえーわ
あといい加減HTML/CSSを入れるのをやめろと思うわ
言語と言ってもプログラム言語じゃねーし
2020/03/03(火) 22:21:40.76ID:dFpQRGVD0
Java と VBA が同じって有り得ないと思うが
2020/03/03(火) 22:32:12.13ID:ZNfWdjcz0
だから職場で強要されてる言語のランキングでしょ
能率とか好みとか無関係
808デフォルトの名無しさん (ワッチョイ ff8e-oceE)
垢版 |
2020/03/03(火) 22:33:01.86ID:dGcpOur50
これと似たような理由だろ
https://i.imgur.com/q4GXr11.jpg
2020/03/03(火) 22:33:31.58ID:1bYPNvMdx
COBOLは数十年に及ぶ後方互換性維持の実績があるから絶対にこのくらいの順位で落ち着く
COBOL不要論とか妄言だからなマジで
2020/03/03(火) 22:49:49.99ID:b2+NWnE80
VBAの依頼はとても多い
2020/03/04(水) 00:14:55.68ID:SHIP3lO60
アドインをショートカットで呼びだす方法が調べてもわからないのですがあるのでしょうか
2020/03/04(水) 00:21:59.37ID:9VsHR+eQa
業界が慢性的な人不足だから、ある程度メジャーな言語ならそりゃ絶対的にはどれでも依頼はとても多いさ
どれを選んでも仕事は十分にあるのだから、どれとは言わないがあえて単価も人材市場評価も低いものを選ぶ必要はない
2020/03/04(水) 06:19:22.68ID:Yqjto87s0
>>806
うちだけかも知れんがJava案件激減したよ
VBAは自前のツールとかちょっとしたデータ処理に使ってる人も多いし
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況