Excel VBA 質問スレ Part70

■ このスレッドは過去ログ倉庫に格納されています
2021/03/18(木) 22:08:43.71ID:jtngtgXU0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part69
https://mevius.5ch.net/test/read.cgi/tech/1607786543/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
154デフォルトの名無しさん (ワッチョイ 2368-8vo5)
垢版 |
2021/04/08(木) 22:20:43.27ID:xay8Megr0
タスクマネージャでも眺めながら色々試してみては
物理メモリだけじゃないだろうけど、なんぼか目安にはなるだろう
2021/04/08(木) 23:36:50.07ID:zGFXp+zdH
64bit版なら配列変数1個あたり4GBまで
32bit版は2GBまで
つまりデータの型によって要素数の上限は違う
2021/04/09(金) 00:36:31.60ID:J+L5UjPE0
>>153-155
ありがとう
タスクマネージャ見ても余裕だったんで理由を知りたかった
次元数2次元までにしといた方が無難だね
2021/04/09(金) 17:10:54.57ID:v0s3XxNT0
>>156
そうだね
あくまで俺の経験則だけど
2次元から3次元にしたとき何でも一挙に難しくなる気がする
元々簡単な作りのものしか扱わないならいいけど
VBAではないけど以前東大生が3次元で配列の制御を行うロジックを作って
自分でもよく分からなくなってしまったというのを見たことがあるし
ゲーム作るときも画面表示するだけで
三角関数はもとより行列やアフィン変換とか
理解してないとまともに出来ない
メモリ食うのも理由のひとつかも知れないけど
3次元には出来れば手を出さない方がいいと思う
2021/04/09(金) 19:26:47.90ID:o5ukQupNM
>>157
ちなみに今回使おうとしたのは3次元配列なんだけど、3次元配列にした理由は同じような2次元配列に順番にアクセスしたかったから
こういう場合は2次元配列を複数用意すればいいのかな?
3次元配列にした方がスマートに記述できると思ったんだけど
159デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/09(金) 19:41:20.17ID:H0DC02Cp0
行、列、シートで、3次元
配列で重くなるならセルに入れてしまうという手も
2021/04/09(金) 21:04:50.47ID:v0s3XxNT0
>>159
シートを余計に食うけど場合によってはそれもひとつの有効手段だよね。
あまり見せたくなければVerryHiddenとかにしてしまえばいい訳だし。

>>158
使い処によると思うよ。使い方が単純でスピードが速い方がいいならそれでいいと思う。
ただ、これはあくまで「俺が」なんだけど実はあまり配列が好きじゃないんだ。
だからと言うわけでもないんだけどある程度大きなプログラムを組むときは
配列を使うこともあるにはあるけど、2次元配列の代わりにプロパティだけのエンティティクラス作って
それをコレクションやディクショナリに詰め込んで使ったり、
レコードセットを使ったりすることもあるし、
3次元では上記したような仕組みのものやそういった仕組みを持つクラスを作って、
それをまたコレクションやディクショナリにいれたりするように作ったりとか。
何でこんなまどろっこしいことするのかと言えば、要素と言うか項目やレコードの追加や
データ抽出が楽なんだよね。

シート足していいと言うなら先程の>>159の人の案も有りだと思う。
削除系は使えないけどシートにはその気になればSQLが投げられるから
抽出や計算、変換、加工とかする必要があるならかなり楽に作れることもあるからね。
161デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/09(金) 21:29:44.17ID:H0DC02Cp0
三次元配列は単純に頭がしんどい
三次元空間の様にそれぞれの次元が同じ重みを持っているなら仕方ないけど、
それ意外なら行列の二次元+シート一次元、のように分けたほうがスッキリすると思う
2021/04/09(金) 21:34:45.69ID:VGCoQhdKa
省略したら値渡しでしよ
再帰かけるときには値渡しにしないと、いろいろ都合がある
2021/04/09(金) 21:37:45.95ID:VGCoQhdKa
>>161
賛成、エクセルのシート使うよね
2021/04/09(金) 21:50:51.12ID:v0s3XxNT0
>>162
これな
実はVB.Netの場合は省略するとByVal(値渡し)で
旧VB6やVBAの場合は省略するとByRef(参照渡し)で
両方やってる人はよく間違えるんだよね。

再起の場合は確かにどれを反映させてどれを反映させないか結構大事になるけど、
まぁ基本デフォルト使わないで明示的に書くだろうからあまり気にしなくてもいいかもね。
2021/04/10(土) 00:28:07.23ID:xAikY8XJ0
みんなありがとう
>>160
VBAは基本の参考書を読んで一通り分かったつもり
でもクラスは上級者すぎて分からないや
一応自作のオブジェクトという理解でいる
色々案を考えてくれてありがとう、もう少し勉強してからそのあたりも試してみる
2021/04/10(土) 06:57:57.98ID:+Fv9eRvVa
シートに書き出すととピポットにできるから
ピポットなら何重にも次元が増やせるし
処理もはやい
ピポットとvbaを組み合わせると、
けっこうはやい
2021/04/10(土) 08:02:59.36ID:GLiDRYw80
>>165
頑張って
クラスはObject指向言語だと必須だけどVBAでは無理して知ってる必要もないから気が向いたときに覚えればいいと思うよ

とは言ってもクラス自体はそんなに難しいものじゃないんだけどね。よく、ひとつの纏まった機能を他のモジュールに書くよね。
あれを標準モジュールの変わりにクラスモジュールに書けばクラスの出来上がり。
後は他のオブジェクト使うときと同じようにNewして変数に入れて、変数名.メソッド名、変数名.プロパティ名とか書けば使えるよ。

どっちかっていうと考え方と使いどころに慣れるまでがちょっと大変かもね。
それ以上の多態性とかデザインパターンとかの知識を身につけるころには他の言語やってるだろうから
今そんなに深く考えることもないと思うよ。
2021/04/10(土) 09:30:59.12ID:ASUPMck3M
>>165
VBAの範疇ならクラスは忘れてもいいと思う
コンストラクタに引数も持てないし継承もできないから普通にユーザー定義型と操作ルーチンをモジュールにまとめるのとたいして変わらんし
2021/04/10(土) 10:08:24.05ID:+Fv9eRvVa
エクセルというクラスを使いこなせば
ビジネスなら十分
エクセル以上のobject作るのは無理だから

なんつてセカンドオニオンでした
2021/04/10(土) 15:51:59.07ID:duTza7EGd
自分もクラスで挫折して今はユーザー定義型で幸せです
2021/04/10(土) 16:02:42.86ID:4ha6UGTxp
自分もユーザー定義にした途端お金が入って彼女が出来ました。今ではとっても幸せです。
2021/04/10(土) 17:05:30.13ID:eY7Q/L5k0
そうかい
2021/04/10(土) 20:22:47.19ID:mgDf3XRg0
>>170
プロパティとかコンストラクタとかあとは鯛焼きの型とかいきなり説明しだすから分かりにくいんだよな
2021/04/10(土) 20:23:09.87ID:mgDf3XRg0
最初はクラス内の変数と関数だけでプロシージャ内のコードがこれだけ簡潔書けるようになります程度でいいのに
175デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/10(土) 20:31:08.56ID:u4vdYafN0
EXCELvbaで、クラスってどういう時に使うのでしょうか
ゲームのように細かいオブジェクトが多数ある状態なら分かりますが、
表の状態になったデータだと、今ひとつピント来ないです
社員classや顧客classを作るのでしょうか
2021/04/10(土) 20:42:21.31ID:r9QO1mE4M
無理に使う必要は無い。
「使わなくては!」と閃く状況が来るときまで。
2021/04/10(土) 21:10:26.00ID:2jN52YXT0
>>175
よく使うけど毎回書くのが面倒な処理がある時
DB接続とかUIAutomationとか長げぇよってやつ
2021/04/10(土) 21:22:16.81ID:GLiDRYw80
>>175
どう使うかを決めるのも自分。
だからクラスそのものより
考え方や使いどころに慣れるまで
そっちの方が大変だって言ったんだよ。

まぁ表であればあくまで俺であれば、
項目をプロパティにして
1レコードをクラスにして、
それをコレクションやディクショナリに
登録して使うよ。前記したけどね。
2021/04/10(土) 22:23:34.34ID:duTza7EGd
オレ知ってる!
クラスってニューして使うんだよな!
180デフォルトの名無しさん (ワッチョイ 0663-uh6b)
垢版 |
2021/04/10(土) 23:22:47.33ID:kj/emQZa0
エクセルでガントチャートを作りたく極力簡単な方法を探しています。
(手順が少なく、エクセル苦手でも理解しやすい)

自力で探したところ
ttps://excel-master.net/cells-worksheets-control/gantt-chart-3/
の「条件付き書式でガントチャートをつくる」が一番簡単な気がしましたが
より簡単な方法があったらご教授いただきたく。

windows板で尋ねようかと思いましたがエクセル専用スレが無いため
詳しい人が多そうなこのスレにお邪魔しました。
2021/04/10(土) 23:41:30.33ID:KgXo78Rva
要望は何回もやり直したほうがよいよ
さいしょは相手も自分もよくわかってないから
Ver3ぐらいでようやく完成する
2021/04/11(日) 00:00:57.05ID:0+LhiyyI0
>>180
あ、これ、俺は苦手だわ
WBS作ろうとするとどうしても
簡単に作ることより分かり易くする方に
力入れちゃうから多分そのリンク先に
載ってることよりややこしい数式にしてしまう

ま、WBSなんて基本、予定線と実績線、
あと遅れそうになった時のワーニング色と
遅れた時のアラート色、
あと遅延リカバリ用の枠付けとくくらいだから
大したもんじゃないからまぁ頑張って。

こういうの作るときにもっと大事なのは
見積もりとそれに対するする人員と期間の
配分だから、そっちも任されているなら
そっちに作業の80%くらい割り振って
考えた方がいいよ。
183デフォルトの名無しさん (スッップ Sd02-N28a)
垢版 |
2021/04/11(日) 02:17:20.23ID:x6o0gjqGd
馬鹿ばっかのスレ
2021/04/11(日) 02:27:18.88ID:C7VIYXjZa
ガントチャートだとあんまり工程管理にならないんだよ
やってみるとわかるけど
8割がた遅延する、というか遅れてないと進捗がわからないだよ
1、そもそもスタートしていなかった?
これがいちばんおおい
2、深刻で致命的なもんだいが、見つかるとはいちばん最後
だから
2021/04/11(日) 10:19:59.88ID:Gib6KHmfM
>>180
そのガントチャートで問題ないならそれが一番簡単だと思う
ただ>>184が言うような日程管理をしたいならもうちょい作り込むなり専用アプリを使ったほうがいい
2021/04/11(日) 11:13:40.17ID:udnt6yH0p
質問です

今後このスレ
こう言ったEXCELのとか
旧VB6とか許容すんの?

古参なら今までどういったことが
有ったか覚えていると思うけど
2021/04/11(日) 11:43:22.55ID:TwIBijR2M
質問者はワークシートでの作り方はある程度想像がつくけどVBAの知識がある人ならよりスマートな方法を知っているかもしれないと考えてここで聞いたんだろうし、
それに対してワークシートの機能でできることはVBA使うよりワークシートの機能でやった方がいいってのは極めて妥当で健全な回答だろう
そんなことでいちいちスレ違い警察さんが出動しなくていいよ
2021/04/11(日) 12:04:02.09ID:0+LhiyyI0
>>187
そう

許容するのね?
189デフォルトの名無しさん (ワッチョイ ebcd-AcCi)
垢版 |
2021/04/11(日) 12:41:42.70ID:WBicdlML0
excelのOnTime関数をPowerPointで使うこと出来ないよね?同じ機能を持った関数ってある?
2021/04/11(日) 12:55:23.83ID:0+LhiyyI0
>>189
無いからAPIで行うらしい
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1396587403
2021/04/11(日) 13:01:24.60ID:J2w1eWX20
Excelから呼び出せないのか
起動中のソフトを検索するワード関数をExcelから呼び出してるの見かけたことあるけど
192デフォルトの名無しさん (ワッチョイ ebcd-AcCi)
垢版 |
2021/04/11(日) 14:13:05.18ID:WBicdlML0
>>190
ありがとう
まったく理解できないけど、もっと楽な方法ないのかなー
193デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/11(日) 15:30:39.63ID:VuRQUus/0
vb.netでdllとか作った方が早いような
194デフォルトの名無しさん (ワッチョイ 2310-BQFA)
垢版 |
2021/04/11(日) 20:16:20.16ID:MoadxaFG0
>>180
スレ作ればいいだろ
厚かましいにも程がある
2021/04/11(日) 21:10:22.11ID:LXnW0jT40
Python, Julia, Ruby などで使う、Jupyter Lab に、ガントチャートは無いのか?
196デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/11(日) 21:40:30.24ID:VuRQUus/0
>>196
あることはある
https://cafe-mickey.com/python/plotly-tutorial-6/

でも結局死ぬほどカスタマイズすることになるから、EXCELで作るのが一番マシ
2021/04/11(日) 23:13:09.15ID:rV+Er0Dj0
業務とはかけ離れた腕自慢スレになりつつあるなここは
198デフォルトの名無しさん (ワッチョイ 0663-uh6b)
垢版 |
2021/04/11(日) 23:26:48.43ID:ZRspFCij0
>>180
です。スレ違いな質問に回答くださってありがとうございました。
>>187
さんのご推察どおりここの先生方を最も頼りにしております!

残念ながら任されているのはエクセル上の作業のみであり
人員期間の配分は担当外ですが
コレが一番スマートだと確信できました。
これで安心して作業に入れます。感謝します。
2021/04/11(日) 23:52:08.05ID:Omw3/P/WH
>>197
昔から、質問の答えが出た後に別の方法を書き込む競争はやってた
200デフォルトの名無しさん (ワッチョイ 068e-N28a)
垢版 |
2021/04/12(月) 00:09:38.61ID:zgwaoc/v0
いつものあいつだな
201デフォルトの名無しさん (ワントンキン MM92-YQ+d)
垢版 |
2021/04/12(月) 02:49:52.91ID:Bvz5U6oCM
まだ引っ掛かる馬鹿がいるのか
2021/04/12(月) 09:23:22.30ID:H+Y94TUB0
回答者さん同士で競争とか知恵袋と同じじゃんか
無駄にスレの無駄遣い
2021/04/12(月) 10:17:02.71ID:5VvoR6W20
無駄な書き込みを無駄にスレに書き込んでスレを無駄に使うことはスレの無駄遣いだと書き込むことはスレの無駄遣いかもしれない
2021/04/12(月) 10:35:19.07ID:0gH2bD5Aa
無駄な努力が、むくわれるのさ
2021/04/12(月) 10:49:33.17ID:0gH2bD5Aa
VLookupをつかったのは無駄な努力だったな

やめときゃよかった
2021/04/12(月) 10:56:04.87ID:0gH2bD5Aa
これをマクロでどうにかなりませんか

そういってわたされたのがVLookupが山のように貼り付けられた
エクセルシートだった
うまくと動くけと突然とまるw
けっきょくforループの検索に代えた

とここまで書いておもいだしたが
去年、メンタル悪化で退職した同僚がいたけど
のこしていってのはやはりVLookupの山だったな
動かないVLookupで退職するまえに本スレにご相談ください
2021/04/12(月) 12:12:04.06ID:8dcLaG4EM
Excel初心者はVLookupしか知らないから
何でもこれでやろうとして自爆する傾向があるね
2021/04/12(月) 12:24:31.30ID:H+Y94TUB0
そのVlook関数はマクロ経由なのかが気になる
2021/04/12(月) 12:42:14.50ID:HPbAbv3kH
池の女神は言いました
あなたが落としたのはVLOOKUPですか、HLOOKUPですか
いいえ私が落としたのはXLOOKUPです
2021/04/12(月) 13:02:43.22ID:A3OoULtt0
質問です
>>209の言う
VlookupとHlookupの頭文字は
バーティカル(垂直)とホライズン(水平)
なのは分かるんですがXlookupの頭文字の
Xってなんですか?
EXCELの質問でスレ違いなのは
重々承知していますが
このスレにいる方々の知識の豊富さに縋らせてください
考えると夜も眠れない有様です
2021/04/12(月) 13:25:12.45ID:QkakYyyta
>>210
クロス
2021/04/12(月) 13:30:51.45ID:A3OoULtt0
>>211
クロスのスペルってCROSSではないんですか?
それともX_JAPANの「エーックス」のクロスですか?
分かりません><
2021/04/12(月) 13:34:07.13ID:X9TSjYQR0
XmasのX
2021/04/12(月) 13:36:54.52ID:MyLZJXYdp
向こうではCrossとかChristmasをXで省略するから、だと思う
2021/04/12(月) 13:41:07.52ID:A3OoULtt0
>>213
>>214
やっと分かりました
今日からぐっすりと眠れそうです
ありがとうございました
2021/04/12(月) 15:02:08.77ID:3rdXwFWw0
>>215
死ねよ
2021/04/12(月) 17:28:11.89ID:H+Y94TUB0
バツルックアップじゃないの??
事務のオバチャンにそう聞いたけど
2021/04/12(月) 19:56:57.26ID:UqVxKohHa
とんこつととんかつの違いはなんですか

そういう質問をうけたときがあったなぁ
2021/04/12(月) 20:02:02.68ID:HPbAbv3kH
とんかつ
とんかち
2021/04/12(月) 22:40:18.25ID:6cC4Cv/z0
マジレスするとExtraやExtendのX
2021/04/13(火) 12:25:16.60ID:XNPY+hAHa
ガントチャートの欠点は
遅れの検出がおそいだよね
期限が過ぎないと遅れることがわからない

これでは手遅れですよ
2021/04/13(火) 12:40:10.17ID:5GJi7nDK0
>>221
あ、そうなんだ
EXCELの数式だったら予定線より実績線が
二日くらい前になったらワーニングで黄色、
予定線以降になったら赤とかにしとけば
ワーニングに入った時点でリカバリ案とか
会議で話し合えるのにね。
2021/04/13(火) 12:54:32.74ID:mzxN/X4qM
期限過ぎる前に進捗率がヤバくなればリスケで仕切り直し
いつまで経っても期限が過ぎることは無い
2021/04/13(火) 13:24:50.99ID:5GJi7nDK0
>>223
本当にありそうで怖いわ!
2021/04/13(火) 17:28:26.59ID:XNPY+hAHa
開始日でだいたいわかる
おおくのばあいはまともにスタート出来てないからw

人がいない、資料がそろってない、仕様がきまってない
だも
スタートできなきゃゴールするわけがない
2021/04/13(火) 20:57:49.87ID:5GJi7nDK0
>>225
開発あるあるだなw
そうか、確かにVBAだと後ろが伸びるだけになるかも知れないね。
他のある程度大きいシステムになると
・客先から上がって来ない要件定義
・客先だから強く言えないチームのリーダー
・差し迫る納期
・焦りが出てきてイラつく俺ら。それを宥めるリーダー

この辺からが違うところかな

・システム間の連携や他システムとの連携のため伸ばせない納期
・更に焦る俺ら。宥めきれなくなるリーダー
・上がって来る要件定義、血眼で設計書を作る俺ら
・時間がなくて客先との対面レビューのはずが回覧レビューになる設計書
・PGしながら単体テストケース作りながら単位テストしながらエビデンス取る俺ら
・超える納期、無くなる休日、伸びまくる勤務時間、倒れる仲間
・覆る要件定義、設計種ミス発覚、他の嶋から助っ人入るも焼石に水、発狂する助っ人
・何とかSTまで終了。飛ばされるリーダー、バグだらけの成果物、昇天する俺ら

最悪こんな感じかな。
227デフォルトの名無しさん (ブーイモ MM93-uTt7)
垢版 |
2021/04/13(火) 21:11:48.26ID:QqfAiqTvM
>>225
開発あるあるだなw
そうか、確かにVBAだと後ろが伸びるだけになるかも知れないね。
他のある程度大きいシステムになると
・客先から上がって来ない要件定義
・客先だから強く言えないチームのリーダー
・差し迫る納期
・焦りが出てきてイラつく俺ら。それを宥めるリーダー

この辺からが違うところかな

・システム間の連携や他システムとの連携のため伸ばせない納期
・更に焦る俺ら。宥めきれなくなるリーダー
・上がって来る要件定義、血眼で設計書を作る俺ら
・時間がなくて客先との対面レビューのはずが回覧レビューになる設計書
・PGしながら単体テストケース作りながら単位テストしながらエビデンス取る俺ら
・超える納期、無くなる休日、伸びまくる勤務時間、倒れる仲間
・覆る要件定義、設計種ミス発覚、他の嶋から助っ人入るも焼石に水、発狂する助っ人
・何とかSTまで終了。飛ばされるリーダー、ハゲだらけの社員、昇天する俺ら

最悪こんな感じかな。
2021/04/13(火) 21:15:01.18ID:5GJi7nDK0
うーん、何か接続がおかしいのかな
他のスレに誤爆になってこのスレでも2回載ってしまった
すまんこ
229デフォルトの名無しさん (ブーイモ MM93-uTt7)
垢版 |
2021/04/13(火) 21:34:03.40ID:QqfAiqTvM
うーん、何か接続がおかしいのかな
他のスレに誤爆になってこのスレでも2回載ってしまった
おまんこ
2021/04/13(火) 21:38:41.78ID:5GJi7nDK0
>>229
おいw
2021/04/14(水) 07:51:01.50ID:EILUghab0
ウンコマクロ
2021/04/14(水) 19:17:03.44ID:hXL/FQf4a
まあ。そんなんだ
2021/04/14(水) 19:29:05.82ID:jCprHRHj0
EXCEL VBAは好きだし凄く肌に合ってると思うけど、案件単価がちょっとなぁ
2021/04/14(水) 19:47:31.92ID:kMGrei9fM
EXCEL VBAが肌に合う様な奴が案件単価とか生意気。
235デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/14(水) 20:39:37.17ID:E4KyUeCU0
一般事務が仕事中に覚える→結婚・退職→主婦の傍ら有り余る時間で糞みたいな単価で受注
まぁ、悪い事でもなんでもないんだけどね、うん
2021/04/14(水) 20:45:27.19ID:ijCB3EYv0
あたまが鉛のようにおもい
2021/04/14(水) 20:47:48.07ID:cTgQ8ZPt0
1時間で作れるような案件が高いわけない
2021/04/14(水) 20:52:06.82ID:ijCB3EYv0
冷戦時代日本がロケットのことでロシアに教えをこうたとき
一言ジャイロに問題があるといって
100億ぐらいもって去っていったそうな
239デフォルトの名無しさん (ワッチョイ 43de-iqg9)
垢版 |
2021/04/14(水) 21:21:01.64ID:tTtaKpUk0
VBA Seleniumdriveで
driver.ExecuteScript ("XXXX")
でonclickをクリックするとモーダルコンテンツが表示されます。
コンテンツ内のXpathをクリックしてもボタンを押すことが出来ないんですが、
SendKeys "{TAB}", Trueで該当のボタンをクリックする以外に
要素を指定してクリックする方法ってありますか?
2021/04/14(水) 22:43:58.06ID:bsTwIiw80
下記「やりたいこと」のようにhtmlから抽出したいのですが、
下記「前提」があって、どうしたらいいのか分かりません。
なにか方法ありますでしょうか?

--- やりたいこと ---
下記htmlにおいて、"ヘッダ"のすぐ次に存在しているtableタグ内の項目1,2、要素1,2を取得したい

--- 前提 ---
@"ヘッダ"は特定できる
Atableは特定できない
 ・tableのidや要素から特定できない
 ・tableの数から特定できない(取得したいtableが何個目なのか分からない)

--- html例 ---
 ・・・
<h2>ヘッダ</h2>
<table>
<tr><th>項目1</th><th>項目2</th></tr>
<tr><td>要素1</td><td>要素2</td></tr>
</table>
 ・・・

--- プログラム例(Microsoft Internet Controls、Microsoft HTML Object Libraryは参照設定済み) ---
Dim objIE As New InternetExplorer
objIE.Navigate "http://***";
Do While objIE.Busy = True Or objIE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
For Each obj In objIE.Document.getElementsByTagName("h2")
If InStr(obj.innerText, "ヘッダ") > 0 Then  ヘッダは見つけることができるが、この後どうしたらいいのか・・・
End If
Next obj
2021/04/14(水) 23:08:27.54ID:mIFbuL/UH
>>240
<HTML>タグか<BODY>タグで全体のソースを取り込んで、あとは文字列として処理
2021/04/15(木) 01:36:52.92ID:E+h/Uieza
VBAでやる意味あんの?
2021/04/15(木) 02:03:12.55ID:Un6DIa9Z0
>>241>>242
ありがとうです。
もう少し考えます。。
2021/04/15(木) 06:20:29.14ID:5JoH8OD60
>>240
jQuery なら、2重ループで、

<h2 id="id-1">ヘッダ</h2>
<table><tbody>
<tr><th>項目1</th><th>項目2</th></tr>
<tr><td>要素1</td><td>要素2</td></tr>
</tbody></table>
<table><tbody>
<tr><th>項目3</th><th>項目4</th></tr>
<tr><td>要素3</td><td>要素4</td></tr>
</tbody></table>

$( function ( ) {
let table = $( '#id-1' ).next( ); //次の兄弟要素

// table > tbody > tr を、1行ずつ処理する
$( table ).children( ).children( ).each( function ( index, row ) {
// 1列ずつ処理する
$( row ).children( ).each( function ( index_2, col ) {
console.log( `${ index }行 ${ index_2 }列`, col.textContent );
} );
} );
} );

出力
0行 0列 項目1
0行 1列 項目2
1行 0列 要素1
1行 1列 要素2
2021/04/15(木) 06:53:10.31ID:r2UxJQfIM
>>244
VBAの構文に変換してくれ
2021/04/15(木) 11:25:51.10ID:c60l0/FJ0
>>244
VBAに対してHTMLの集約やメソッドチェーンが使える言語をぶつけてくるのは卑怯だと思うの
2021/04/15(木) 12:05:58.59ID:nvZZu+k0a
スクリプトぐらいなら良くねの
2021/04/15(木) 12:18:14.12ID:ivOr0/mk0
>>244
結局総当りか
まあそうだよね
249デフォルトの名無しさん (ワッチョイ c207-iqg9)
垢版 |
2021/04/15(木) 16:07:09.80ID:MUSbI6ab0
質問です。
今は下記のようなコードとvlookupを組み合わせて連続で請求書を印刷しています。
一つのジョブにまとめて印刷するにはどのようにしたらよいでしょうか?

Sub 連続印刷()
Dim i As Integer
Dim LastRow As Integer

Worksheets("請求書").Select

With Worksheets("データ")

For i = 3 To 5
Range("d1").Value = .Range("A" & i).Value
Range("n1").Value = .Range("A" & i + 1).Value
i = i + 1
ActiveSheet.PrintOut
Next
End With
End Sub
2021/04/15(木) 17:29:43.21ID:c2wrGnlaM
>>249
vlookup部分もVBA化して組入れれば一つのJOBに出来るよ
2021/04/15(木) 17:46:43.97ID:BAka9uDVM
>>249
3つぐらいなら請求書シートを必要分コピーして各々値を入れて複数シートを一気に印刷するしか思い付かない
2021/04/15(木) 17:53:55.45ID:c2wrGnlaM
請求書シートも複数有るなら、それをFor Nextで繰り返すぐらいだろうね
2021/04/15(木) 19:09:26.62ID:pI0uqt930
UI Automationの質問てここでいいの?
VBAでゆっくりムービーメーカー4のキャラクター切り替えをやりたいんだけど、
うまくいかず。
キー操作をWindowsに送ることでごまかしている。

”追加してシーク”ボタンを押すだけならこんな感じでできるんだけど、

Set iCnd = uiAuto.CreatePropertyCondition(UIA_NamePropertyId, "追加してシーク")
Set elmYukkuri_Button = elmYukkuri_timeline.FindFirst(TreeScope_Subtree, iCnd)

Dim InvokePattern As IUIAutomationInvokePattern
Set InvokePattern = elmYukkuri_Button.GetCurrentPattern(UIA_InvokePatternId)

ボタンじゃなくてコンボボックスでボタン内容が切り替わるときはどうすればいいんだろう?
254デフォルトの名無しさん (ワッチョイ 6268-/CMm)
垢版 |
2021/04/15(木) 21:08:32.60ID:fGNDJEoP0
>>249
俺もそれ使ってたわ
100セットとか印刷するとコピー機占領するからすごい迷惑なんだよね。
色々あって、vbaは逆に使わなくなった

方法はは>>251にかなり近くて、

・シートを連番で用意しておく
・シート名は「3」〜「5」
・vlookupのキーはシート名にする
Range("d1").Valueには、 .Range("A" & シート名).Value
Range("n1").Value には、.Range("A" & シート名+ 1).Value
のように、予めシート名を引っ張ってvlokup部分は完結させておく

後はシート「3」〜シート「5」を選択し、印刷するだけ。ジョブは一つになるし、vbaも不要になる

シート内容が変更になる時は、vbaを使って連番のシートを再作成すると良い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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