ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
最近プロによる書き込みが多々見うけられますが
彼らに絡むと話がこじれるので質問したい方は適当にスルーしてください
※前スレ
Excel VBA 質問スレ Part53
http://mevius.5ch.net/test/read.cgi/tech/1524823358/
探検
Excel VBA 質問スレ Part54
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/05/26(土) 20:37:37.74ID:Lty78diJ537デフォルトの名無しさん
2018/07/08(日) 02:41:06.85ID:1rJAxozS538デフォルトの名無しさん
2018/07/08(日) 05:58:21.86ID:4Xu9JpUJ 質問です
エクセルでゲームを作っている初心者ですが
セルの背景に風景画を設定し、
それをたまに切り替える処理は可能ですか?
特にセル内にはアイテムjpgを表示して、その背面に風景画を
表示させたいのですが
エクセルでゲームを作っている初心者ですが
セルの背景に風景画を設定し、
それをたまに切り替える処理は可能ですか?
特にセル内にはアイテムjpgを表示して、その背面に風景画を
表示させたいのですが
539デフォルトの名無しさん
2018/07/08(日) 06:23:17.01ID:GhYI1ZI5 普段事務系でVBAを利用しており大変役立っているのでVBAがボロクソ言われているのに衝撃を受けました。もっと良い方法があるのなら是非知りたいです。
他の言語の方がいいというお声をちらほら拝見したのですが、例えばエクセルで集計や管理しているデータを仕訳化して会計システムに読み込ませるようなケースでは他の言語の方が良い場合があるのでしょうか。
それとも、そもそもでエクセルを使っている場合はやはりVBAの方が向いているのでしょうか。
エクセル使っている時点で糞というご意見もあるでしょうが、、、
他の言語の方がいいというお声をちらほら拝見したのですが、例えばエクセルで集計や管理しているデータを仕訳化して会計システムに読み込ませるようなケースでは他の言語の方が良い場合があるのでしょうか。
それとも、そもそもでエクセルを使っている場合はやはりVBAの方が向いているのでしょうか。
エクセル使っている時点で糞というご意見もあるでしょうが、、、
540デフォルトの名無しさん
2018/07/08(日) 06:33:19.33ID:PI8C5Cu3541デフォルトの名無しさん
2018/07/08(日) 08:22:47.98ID:hRNyX0hA >>410
instr使って26*2回loop回して判定すればいいよ
instr使って26*2回loop回して判定すればいいよ
542デフォルトの名無しさん
2018/07/08(日) 08:42:38.55ID:8kUPZF7b >>539
データ入力まではエクセルでOK
表形式のデータ入力ならエクセルが便利ってのは事実だ
入力したデータを読み込み、なんらかの計算をして、別のシステムと連携する
といった処理は他の言語を使ったほうがいい
データの読み込みはExcel.Applicationのおかげでどの言語でもできるし各言語にもっと良いライブラリがある場合もある
一旦データを読み込んでしまえば後の処理はエクセルから独立して作ることができるのでエクセルの制約に縛られることがなく快適だ
VBAはイベントハンドラなどエクセルの操作を拡張するちょっとした処理を定義する場合に仕方なく使うものと割り切ろう
例えば表形式のデータ入力を補助するちょっとした処理を作りたいな、と思ったらVBAでOK
データ入力まではエクセルでOK
表形式のデータ入力ならエクセルが便利ってのは事実だ
入力したデータを読み込み、なんらかの計算をして、別のシステムと連携する
といった処理は他の言語を使ったほうがいい
データの読み込みはExcel.Applicationのおかげでどの言語でもできるし各言語にもっと良いライブラリがある場合もある
一旦データを読み込んでしまえば後の処理はエクセルから独立して作ることができるのでエクセルの制約に縛られることがなく快適だ
VBAはイベントハンドラなどエクセルの操作を拡張するちょっとした処理を定義する場合に仕方なく使うものと割り切ろう
例えば表形式のデータ入力を補助するちょっとした処理を作りたいな、と思ったらVBAでOK
543デフォルトの名無しさん
2018/07/08(日) 09:07:44.23ID:w46/Jlv9 またパワーシェルキチガイやC#キチガイなどが降臨してくる悪寒 w
544デフォルトの名無しさん
2018/07/08(日) 10:58:47.60ID:VlCTSpWI textboxが3つあって仮にABCとして、enterイベントでエクセル読み取ってlistboxに追加。追加されたものをダブルクリックしたらtextboxに入れる。
A→追加→dクリック→Aに追加
B→追加→dクリック→Bに追加
textboxに追加する際にtextboxを特定するにはどうしたらいいですか?
A→追加→dクリック→Aに追加
B→追加→dクリック→Bに追加
textboxに追加する際にtextboxを特定するにはどうしたらいいですか?
545デフォルトの名無しさん
2018/07/08(日) 12:55:49.90ID:Gx9TRn56546デフォルトの名無しさん
2018/07/08(日) 13:46:29.05ID:JqVrR2gz >>545
おまえじゃま
おまえじゃま
547デフォルトの名無しさん
2018/07/08(日) 13:57:15.04ID:RDaThQGn >>544
意味わかんねえから誰も答えらんねえ
enterイベントって何よ?そのイベントはどこから発生する設定なわけ?
"エクセル読み取って"とは?
listboxに追加されるのはエクセル?w
最後に、なぜlistboxからtextBoxに追加する?
意味わかんねえから誰も答えらんねえ
enterイベントって何よ?そのイベントはどこから発生する設定なわけ?
"エクセル読み取って"とは?
listboxに追加されるのはエクセル?w
最後に、なぜlistboxからtextBoxに追加する?
548デフォルトの名無しさん
2018/07/08(日) 14:25:14.30ID:2En7rgQR549デフォルトの名無しさん
2018/07/08(日) 14:50:14.10ID:+Ya/8hB+ エスパーしてみた
textboxが3つ(a,b,c)とlistboxが1つあって、
いずれかのtextboxに値を入力してenterを押下すると、その値がlistboxに追加される。
(その際に、どのtextboxから追加されたのかも情報として保持しておく)
listbox側でアイテムをダブルクリックすると、そのアイテムを元のtextboxに再度表示させる。
というような動作がしたいのではなかろうか?
textboxが3つ(a,b,c)とlistboxが1つあって、
いずれかのtextboxに値を入力してenterを押下すると、その値がlistboxに追加される。
(その際に、どのtextboxから追加されたのかも情報として保持しておく)
listbox側でアイテムをダブルクリックすると、そのアイテムを元のtextboxに再度表示させる。
というような動作がしたいのではなかろうか?
550デフォルトの名無しさん
2018/07/08(日) 16:00:48.38ID:VlCTSpWI 説明下手ですまん。
textbox a b c3つ。
listbox 1つ。
listboxにはa b cにはそれぞれ違う入力候補が表示される。
textboxがフォーカスされるとエクセルから読み取ってlistboxに入る。
ここまでは出来た。
抽出された、listboxから選んでそれをダブルクリックでtextboxに入れたい。
その時に入れるべきtextboxの保持の仕方が知りたい。出来ますか?
textbox a b c3つ。
listbox 1つ。
listboxにはa b cにはそれぞれ違う入力候補が表示される。
textboxがフォーカスされるとエクセルから読み取ってlistboxに入る。
ここまでは出来た。
抽出された、listboxから選んでそれをダブルクリックでtextboxに入れたい。
その時に入れるべきtextboxの保持の仕方が知りたい。出来ますか?
551デフォルトの名無しさん
2018/07/08(日) 16:10:27.07ID:4Xu9JpUJ >538も頼む
552デフォルトの名無しさん
2018/07/08(日) 16:15:19.97ID:NWQ82qHd553デフォルトの名無しさん
2018/07/08(日) 16:29:59.39ID:GTuulETc listbox1のリスト要素は textbox a,b,c選択毎に変わる。a選択時にはa用要素、b選択時にはb用要素...と。
ユーザーがリストの要素をダブルクリックした時に目的のboxに入力させたい。て話ね。
単にコードの内部で変数維持すりゃいんじゃないの?
ユーザーがリストの要素をダブルクリックした時に目的のboxに入力させたい。て話ね。
単にコードの内部で変数維持すりゃいんじゃないの?
554デフォルトの名無しさん
2018/07/08(日) 16:51:15.17ID:C6I7YKm0 >>552
そんな怒るなって
そんな怒るなって
555555
2018/07/08(日) 17:50:15.92ID:a626A7YN 555げっち(´・ω・`)b
556デフォルトの名無しさん
2018/07/08(日) 18:47:41.75ID:Zv0bz7W8 最後に選択したTextBoxを覚えておく変数を用意するだけだろ。
557デフォルトの名無しさん
2018/07/08(日) 20:58:12.98ID:tFNVscbi558デフォルトの名無しさん
2018/07/08(日) 21:07:48.99ID:4Xu9JpUJ559デフォルトの名無しさん
2018/07/08(日) 21:39:50.37ID:tFNVscbi560デフォルトの名無しさん
2018/07/08(日) 21:42:11.08ID:O4ec/hiX >>507です。
SendKeysのctrl+A、Del、のあとに2秒も待機をはさみましたが、やはり"ABCDE"が出力されてからその文字列が削除されました。
検証したところ、環境のせいか何なのか分かりませんが、SendKeyはマクロが終わってから処理されているみたいです。
あきらめます。いろいろどうも。
SendKeysのctrl+A、Del、のあとに2秒も待機をはさみましたが、やはり"ABCDE"が出力されてからその文字列が削除されました。
検証したところ、環境のせいか何なのか分かりませんが、SendKeyはマクロが終わってから処理されているみたいです。
あきらめます。いろいろどうも。
561デフォルトの名無しさん
2018/07/08(日) 22:45:24.72ID:keZYF54Z うちで色々試してみたけど、少なくともWin10+Excel2016(64bit)の環境では
イミディエイトウィンドウのクリアがうまく動かない
なぜかSendkeysのところで警告音が鳴って(音だけでメッセージは出ない)、何も処理されてない感じになる
ネット上にもサンプルが色々転がってるけど、やってることはみんな同じだし、原因がよく分からん
DoEventsやSleepもあちこちに入れてみたけど変わらず
イミディエイトウィンドウのクリアがうまく動かない
なぜかSendkeysのところで警告音が鳴って(音だけでメッセージは出ない)、何も処理されてない感じになる
ネット上にもサンプルが色々転がってるけど、やってることはみんな同じだし、原因がよく分からん
DoEventsやSleepもあちこちに入れてみたけど変わらず
562デフォルトの名無しさん
2018/07/08(日) 23:16:12.57ID:mRbfFTue Win7で試し、XPで試し ははぁ〜ん、もしかして、これは、レガシーアーキテクチャーだったんだな、と
Accessだと、とっくに「SendKeys」は使うな とご託宣のシロモノ 理由は言わずもがな
Accessだと、とっくに「SendKeys」は使うな とご託宣のシロモノ 理由は言わずもがな
563デフォルトの名無しさん
2018/07/08(日) 23:30:09.96ID:keZYF54Z しかしVBScriptやら他の言語では普通に使えてるんだよなあSendkeys
564デフォルトの名無しさん
2018/07/08(日) 23:49:41.57ID:6NFC9SmT んな面倒なことしなくても、バックスペースをそのまま出力すればいいんじゃないの?
どこかでそんな作例見たぞ。
どこかでそんな作例見たぞ。
565デフォルトの名無しさん
2018/07/09(月) 01:06:22.88ID:mkHLXi+c バックスペースでもデリートでもかまいませんが、
マクロ処理より「先に」SendKeysがしたい、というのが主旨でした。
別にSendKeysにこだわる理由もないのですが、どうにも他の手段も思いつきません。
みんな煩わしくないのでしょうか。
マクロ処理より「先に」SendKeysがしたい、というのが主旨でした。
別にSendKeysにこだわる理由もないのですが、どうにも他の手段も思いつきません。
みんな煩わしくないのでしょうか。
566デフォルトの名無しさん
2018/07/09(月) 02:12:41.70ID:xppiAjLH567デフォルトの名無しさん
2018/07/09(月) 04:14:18.18ID:f/Se9rRG Sendkeysじゃなくて、Debug.Printで出力しろって言ってるんじゃないのか
出来るかどうかは知らんけど
うちの環境でSendkeys試したら、それ以前にイミディエイトウインドウがアクティブにならんかったわ
出来るかどうかは知らんけど
うちの環境でSendkeys試したら、それ以前にイミディエイトウインドウがアクティブにならんかったわ
568デフォルトの名無しさん
2018/07/09(月) 07:20:58.16ID:oaLCehsV >>567
確かに検索するとバックスペースを大量に出力する方法も出てくるけど2016ではだめだった
制御コードはみんなスペースに変換されて出力される
イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
"immediate" は英語版
確かに検索するとバックスペースを大量に出力する方法も出てくるけど2016ではだめだった
制御コードはみんなスペースに変換されて出力される
イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
"immediate" は英語版
569デフォルトの名無しさん
2018/07/09(月) 14:06:10.15ID:IuCatlSv もうメモ帳で立ち上げたテキストファイルにリアルタイムで追記していくでいいじゃん
570デフォルトの名無しさん
2018/07/09(月) 14:10:18.91ID:f/Se9rRG >>568
>イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
いや、それはわかっている
SetFocusしてもアクティブにならんかったんだよ
まあ古い環境なんで追試するほどのもんでもないしどうでもいいが
>イミディエイトウィンドウをアクティブにするには、日本語版では "イミディエイト"
いや、それはわかっている
SetFocusしてもアクティブにならんかったんだよ
まあ古い環境なんで追試するほどのもんでもないしどうでもいいが
571デフォルトの名無しさん
2018/07/09(月) 16:20:47.97ID:LRI0HbDx Excel2010、2013、2016
Excelに詳しくない人が何でも貼付をする為、書式がグチャグチャになっていく・・・。(値に貼り付けが基本と説明してもわからず・・・。)
こういうのを作ったけど不具合が出てしまう。(貼付が出来る。)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Target.PasteSpecial xlPasteValues
Application.CutCopyMode = True
End Sub
「値に貼付」以外の貼付ボタンを非表示かロックをする方法は無いでしょうか?
Excelに詳しくない人が何でも貼付をする為、書式がグチャグチャになっていく・・・。(値に貼り付けが基本と説明してもわからず・・・。)
こういうのを作ったけど不具合が出てしまう。(貼付が出来る。)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Target.PasteSpecial xlPasteValues
Application.CutCopyMode = True
End Sub
「値に貼付」以外の貼付ボタンを非表示かロックをする方法は無いでしょうか?
572デフォルトの名無しさん
2018/07/09(月) 20:45:31.58ID:XVQpUcMR >>571
何をしたいのかよくわからんけど書式なんて無視しとけばいいんじゃね?
何をしたいのかよくわからんけど書式なんて無視しとけばいいんじゃね?
573デフォルトの名無しさん
2018/07/09(月) 21:04:26.74ID:9bvYRSDO 問答無用で値のみに強制するならchangeでコピーundo値貼り付けでいけそうだが
共有ファイルだと他の人に迷惑だし全体の書式を修正するコード書いたほうがいいんじゃないの
共有ファイルだと他の人に迷惑だし全体の書式を修正するコード書いたほうがいいんじゃないの
574デフォルトの名無しさん
2018/07/09(月) 22:14:03.98ID:UwO94Onz SubとFunctionの違いは
返り値がないかあるかの違いだけですか?
返り値がないかあるかの違いだけですか?
575デフォルトの名無しさん
2018/07/09(月) 22:15:58.48ID:UwO94Onz 英語やってる人なら
x イミディエイト
o イミーディイット
のカタカナにしたいな。
x イミディエイト
o イミーディイット
のカタカナにしたいな。
576デフォルトの名無しさん
2018/07/09(月) 22:25:59.43ID:FOPi2RFP577デフォルトの名無しさん
2018/07/09(月) 22:28:22.30ID:FOPi2RFP578デフォルトの名無しさん
2018/07/09(月) 22:29:58.84ID:bjGkgyR6 >>542
539です。遅くなりましたが詳細ありがとうございました。
他の言語を使った方がいいとのことで、例えばどのようなものがおススメでしょうか。経験があられましたらお知恵をお借りできましたらありがたいです。
539です。遅くなりましたが詳細ありがとうございました。
他の言語を使った方がいいとのことで、例えばどのようなものがおススメでしょうか。経験があられましたらお知恵をお借りできましたらありがたいです。
579デフォルトの名無しさん
2018/07/10(火) 00:35:37.60ID:dVkEJfwc >>578
馬鹿には無理だからこのままExcelを使ってろ
馬鹿には無理だからこのままExcelを使ってろ
580デフォルトの名無しさん
2018/07/10(火) 01:41:22.65ID:Gg9Q49Mf >>578
横だが、
> 普段事務系でVBAを利用しており大変役立っている
本業があるならこれでいいと思うよ
ここの人達(特に口が悪い人たち)は、目的を忘れて道具をありがたがる傾向があるけど
本業が別にある人は、そんな人たちの道楽に付き合う必要はないよ
もし、今の業務を大幅に見直したいとか自動化したいとか考えているなら
自分で何か言語を習得して…、ではなく、そこはプロのソフト屋さんに任せるのが一番
そして本業として求められるのは、システムの要求仕様をきっちりまとめる事
本末転倒とならないためにも、要求仕様をまとめることが一番大事ですね
横だが、
> 普段事務系でVBAを利用しており大変役立っている
本業があるならこれでいいと思うよ
ここの人達(特に口が悪い人たち)は、目的を忘れて道具をありがたがる傾向があるけど
本業が別にある人は、そんな人たちの道楽に付き合う必要はないよ
もし、今の業務を大幅に見直したいとか自動化したいとか考えているなら
自分で何か言語を習得して…、ではなく、そこはプロのソフト屋さんに任せるのが一番
そして本業として求められるのは、システムの要求仕様をきっちりまとめる事
本末転倒とならないためにも、要求仕様をまとめることが一番大事ですね
581デフォルトの名無しさん
2018/07/10(火) 02:01:02.44ID:gcQ+OUUD > 普段事務系でVBAを利用しており大変役立っている
だけなら全く問題ないんだけど
だんだん進捗管理したいとか文字コード変換したいとか言い始めるやついるからな
しかもVBAしか知らないからVBAでやろうとして手に負えない
プロに任せろってのがその通り過ぎる
だけなら全く問題ないんだけど
だんだん進捗管理したいとか文字コード変換したいとか言い始めるやついるからな
しかもVBAしか知らないからVBAでやろうとして手に負えない
プロに任せろってのがその通り過ぎる
582デフォルトの名無しさん
2018/07/10(火) 02:04:05.36ID:X6DfZTUr Excel使うってのに、わざわざ他の言語勧めるやつは何か勘違いしてるように思う
VBなんて仕事する上での通過点でしかないから最低限動けばいいんだよ
職場で違う言語提案して稟議通せたやつがどれだけいるよ
完全にマイオナじゃねーか
VBなんて仕事する上での通過点でしかないから最低限動けばいいんだよ
職場で違う言語提案して稟議通せたやつがどれだけいるよ
完全にマイオナじゃねーか
583デフォルトの名無しさん
2018/07/10(火) 08:12:33.61ID:H05GNPXL >>582
そいつら仕事してないからw
そいつら仕事してないからw
584デフォルトの名無しさん
2018/07/10(火) 08:21:44.60ID:3hcVIBfT VBAってエクセル縛りがあるから逆に大変だよね
585デフォルトの名無しさん
2018/07/10(火) 10:24:06.20ID:LbQkaO6y Ruby は、ファイル・テキスト処理では、無敵!
たのしいRuby 第5版、2016
たのしいRuby 第5版、2016
586デフォルトの名無しさん
2018/07/10(火) 10:48:31.48ID:l6mq6P/D 逆に言えば、ExcelのしごとをするのにVBAが最適なのは当たり前
Excelの仕事はテキスト・ファイル処理だけじゃないのにRubyが無敵だとVBAのスレで言い出すバカ
Excelの仕事はテキスト・ファイル処理だけじゃないのにRubyが無敵だとVBAのスレで言い出すバカ
587デフォルトの名無しさん
2018/07/10(火) 11:07:03.34ID:kQC9Nqvj こっちがいい
かなしいRuby 第1版、2018
かなしいRuby 第1版、2018
588デフォルトの名無しさん
2018/07/10(火) 11:49:46.19ID:IqCVdG3S 唐突にRubyとか言い出すのはバカだが
ファイル・テキスト処理はExcelの仕事でもVBAの仕事でもないだろ…
ファイル・テキスト処理はExcelの仕事でもVBAの仕事でもないだろ…
589デフォルトの名無しさん
2018/07/10(火) 19:49:55.48ID:IMvmHeKZ エクセルの仕事はVBA
まあ一理あるけどエクセルで全てが完結する仕事ってそんなにないんだよね
ほとんどの仕事でプラスαがあってそのαを処理するのにVBAは果てしない苦痛を要求してくる
なのでエクセルで仕事する部分を最小化するように設計して
他の言語を使って楽しちゃおうってわけ
まあ一理あるけどエクセルで全てが完結する仕事ってそんなにないんだよね
ほとんどの仕事でプラスαがあってそのαを処理するのにVBAは果てしない苦痛を要求してくる
なのでエクセルで仕事する部分を最小化するように設計して
他の言語を使って楽しちゃおうってわけ
590デフォルトの名無しさん
2018/07/10(火) 20:28:21.19ID:xpg1UcCu プログラムの勉強ちゃんとやるってんならサンプルの多いc#がいいと思う
事務仕事っていってもofficeしか弄らないなんてことはないだろうし
ちょっとしたGUIソフト作れるようになったら楽できる部分も出てくるはず
事務仕事っていってもofficeしか弄らないなんてことはないだろうし
ちょっとしたGUIソフト作れるようになったら楽できる部分も出てくるはず
591デフォルトの名無しさん
2018/07/10(火) 22:00:34.34ID:/yPQGae9 保守やユーザーサポートしかやらん社内SEには、高い開発環境なんて買うてもらえへんのや。。。
592デフォルトの名無しさん
2018/07/10(火) 23:13:00.67ID:qnS0KE4Q 別にαの処理もVBAで余裕だが。
単純にVBAのスキルが足りなくて苦痛な処理しか書けないだけだろ。
単純にVBAのスキルが足りなくて苦痛な処理しか書けないだけだろ。
593デフォルトの名無しさん
2018/07/10(火) 23:16:14.98ID:qnS0KE4Q 別にC#でも良いんだけど、それでもExcelの場合はVBAの方が良いことも多いからね。
よっぽどVBAが不利になる場合以外はVBAで書いちゃうな。
よっぽどVBAが不利になる場合以外はVBAで書いちゃうな。
594デフォルトの名無しさん
2018/07/10(火) 23:39:36.53ID:vwHfZ0oa VB6のことなんだけど、formにいくつかのtextbox等があって順番通りに入力させたい時ってenterキーじゃいないけどわざわざ仕込むのが当たり前?それともタブで移動が当たり前?
595デフォルトの名無しさん
2018/07/10(火) 23:49:25.50ID:10ucIwq3 マルチラインでもないテキストボックスでEnter飲み込んだらデフォルトボンタンが機能しないじゃん
たまにそういうのに出くわすけど嫌い
たまにそういうのに出くわすけど嫌い
596デフォルトの名無しさん
2018/07/11(水) 00:24:49.52ID:a2SSIQiR597デフォルトの名無しさん
2018/07/11(水) 01:09:33.96ID:iVMyJyk1598デフォルトの名無しさん
2018/07/11(水) 01:19:41.31ID:hd1SdLgT 他の言語を現場で使うのを許されるほど裁量与えられてんのかな
VBはexcelだからノーカンみたいな屁理屈で通ってるけど
自分がいない時に誰もフォロー出来ないようなシステムは使わせてもらえないわ
VBはexcelだからノーカンみたいな屁理屈で通ってるけど
自分がいない時に誰もフォロー出来ないようなシステムは使わせてもらえないわ
599デフォルトの名無しさん
2018/07/11(水) 01:22:02.80ID:Uq74SWzq 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を全部取得できるページがあるのですが、違いが分かりません。、
お知恵を拝借できませんか。
完全にグーグル検索に頼ったやり方で、
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を全部取得できるページがあるのですが、違いが分かりません。、
600デフォルトの名無しさん
2018/07/11(水) 03:52:23.75ID:or8jQUR4 行数多いから単にイミディエイトウィンドウに表示しきれてないだけじゃないの
601デフォルトの名無しさん
2018/07/11(水) 09:04:05.28ID:vc47SYm5602デフォルトの名無しさん
2018/07/11(水) 11:48:05.66ID:vy8Sh1uF603デフォルトの名無しさん
2018/07/11(水) 12:28:01.10ID:I//Y0R5O そのページが、HTML だけで完結しているとは限らない
まず、空のHTMLを送ってきて、後に、JavaScript でサーバーにアクセスして(Ajax)、
内容を取得して、HTMLにはめ込んでいるかも知れない
例えば、5ch のスレも、そういうやり方
だから皆、Ruby などで、Selenium Webdriver を使って、ブラウザを自動操作する。
ブラウザの動きと、全く同じ動きをするようにする
まず、空のHTMLを送ってきて、後に、JavaScript でサーバーにアクセスして(Ajax)、
内容を取得して、HTMLにはめ込んでいるかも知れない
例えば、5ch のスレも、そういうやり方
だから皆、Ruby などで、Selenium Webdriver を使って、ブラウザを自動操作する。
ブラウザの動きと、全く同じ動きをするようにする
604デフォルトの名無しさん
2018/07/11(水) 12:45:06.75ID:w6SN0hTk >>601
画像処理(.NET使えないと面倒)
UIAutomation(GUI操作はどうしてもウィンドウ見失ったり不安定なのでtry-catch使えないの辛い)
という理由でこの辺はPowerShellでやってる
画像処理(.NET使えないと面倒)
UIAutomation(GUI操作はどうしてもウィンドウ見失ったり不安定なのでtry-catch使えないの辛い)
という理由でこの辺はPowerShellでやってる
605デフォルトの名無しさん
2018/07/11(水) 15:08:46.67ID:45/5lI1E ブラウザ(IE)を使ってる人がいるんだ
606デフォルトの名無しさん
2018/07/11(水) 21:07:43.68ID:c6ZQGIP9 >>604
UIAutomationはVBAでも使えるのを知らないからこういう発言になる。
つまりVBAのスキルが低くて使いこなせてないだけというわけだ。
画像処理?
これまたスキルが低いだけじゃね―の?
GDIやGDIPlus程度ならVBAでも使えるぞ。
UIAutomationはVBAでも使えるのを知らないからこういう発言になる。
つまりVBAのスキルが低くて使いこなせてないだけというわけだ。
画像処理?
これまたスキルが低いだけじゃね―の?
GDIやGDIPlus程度ならVBAでも使えるぞ。
607デフォルトの名無しさん
2018/07/11(水) 21:24:21.27ID:YPDTWFFE608デフォルトの名無しさん
2018/07/11(水) 21:27:36.57ID:hE5iqAaF 使えるからってExcelの仕事じゃないよ
609デフォルトの名無しさん
2018/07/11(水) 21:30:19.72ID:YPDTWFFE610デフォルトの名無しさん
2018/07/11(水) 21:32:28.80ID:YPDTWFFE C#なら分かるが。
それにExcel絡みになる場合(操作した結果表示された所からデータ取ってくるとか)も結構ある。
それにExcel絡みになる場合(操作した結果表示された所からデータ取ってくるとか)も結構ある。
611デフォルトの名無しさん
2018/07/11(水) 22:12:04.57ID:D9JM4g2v >>606
誰もVBAで実現できないとは言ってないだろ…
上で書いてるように「面倒」なんだよ
VBAでSystem.Drawing使用時と同じくらい簡潔な画像処理コード書けるか?
UIAutomationもそう
VBAでも使えるのは知ってるけどどうしてもだらだらと長くなる
UIA extensions抜きでもパイプライン使えるPowerShellの方が綺麗に書ける
エラーも捌きやすいし
向いてる向いてないはあるんだからVBAでコード書くことにこだわる必要ないでしょ?って話だよ
誰もVBAで実現できないとは言ってないだろ…
上で書いてるように「面倒」なんだよ
VBAでSystem.Drawing使用時と同じくらい簡潔な画像処理コード書けるか?
UIAutomationもそう
VBAでも使えるのは知ってるけどどうしてもだらだらと長くなる
UIA extensions抜きでもパイプライン使えるPowerShellの方が綺麗に書ける
エラーも捌きやすいし
向いてる向いてないはあるんだからVBAでコード書くことにこだわる必要ないでしょ?って話だよ
612デフォルトの名無しさん
2018/07/11(水) 23:16:31.20ID:wufDerCc VBAでなければ非効率的だと確定的な処理を除いて全部、他の言語のほうが良い
誰だって楽に多くの収穫を得たいからね
誰だって楽に多くの収穫を得たいからね
613デフォルトの名無しさん
2018/07/11(水) 23:38:00.81ID:Uq74SWzq614デフォルトの名無しさん
2018/07/12(木) 00:03:50.33ID:3JoGuV3g マクロが上手く動かないと言われ、確認したら非表示にしてたグラフ作成用テンプレシートシート消されてたり、セル削除上詰めとかされてて参照セルがズレてて上手く動かないて事が何度かある
使い方シート的なのを用意して注意書きしてるけど利用者はまともに見てないみたい
こんな時はどう対処するのが一般的なの?
消される可能性踏まえてエラー処理書いたりは流石にしないよね?
使い方シート的なのを用意して注意書きしてるけど利用者はまともに見てないみたい
こんな時はどう対処するのが一般的なの?
消される可能性踏まえてエラー処理書いたりは流石にしないよね?
615デフォルトの名無しさん
2018/07/12(木) 00:48:06.85ID:VOM1FzVT >>614
対処しない。もしくは説明シートをよく読めと指導、終わり
対処しない。もしくは説明シートをよく読めと指導、終わり
616デフォルトの名無しさん
2018/07/12(木) 01:04:43.69ID:ZcY/inPF 例外処理について質問です。本とか見てると例として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を使えばいいのかタイミングがよくわからないので教えてください
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を使えばいいのかタイミングがよくわからないので教えてください
617デフォルトの名無しさん
2018/07/12(木) 01:36:38.58ID:NLjtNQuU >>616
お前みたいな無知蒙昧な馬鹿にはわからない原因のエラーが出た時にはどうするか考える頭がないのか?
お前みたいな無知蒙昧な馬鹿にはわからない原因のエラーが出た時にはどうするか考える頭がないのか?
618デフォルトの名無しさん
2018/07/12(木) 02:14:52.05ID:uvVknaw7619デフォルトの名無しさん
2018/07/12(木) 03:17:53.98ID:q2W2Q/X2 >>614
テンプレートシートはveryHiddenにする。
セルを削除したり勝手に追加したりするヤツは必ずいる。ロックしても「ロックがかかっていて使いづらい、パスワードを教えろ」と言ってきたり。
ふざけんなと思いながら無視してると「あいつはパスワードも教えない、性根が腐ってる」とか言われたりw
テンプレートシートはveryHiddenにする。
セルを削除したり勝手に追加したりするヤツは必ずいる。ロックしても「ロックがかかっていて使いづらい、パスワードを教えろ」と言ってきたり。
ふざけんなと思いながら無視してると「あいつはパスワードも教えない、性根が腐ってる」とか言われたりw
620デフォルトの名無しさん
2018/07/12(木) 07:23:06.76ID:DrMgYtMF >>614
> 非表示にしてたグラフ作成用テンプレシートシート消されてたり
Sheet.Visible = xlSheetVeryHidden
> セル削除上詰めとかされてて参照セルがズレてて
シート保護もしくは名前を付けて名前で参照
> 非表示にしてたグラフ作成用テンプレシートシート消されてたり
Sheet.Visible = xlSheetVeryHidden
> セル削除上詰めとかされてて参照セルがズレてて
シート保護もしくは名前を付けて名前で参照
621デフォルトの名無しさん
2018/07/12(木) 07:44:16.67ID:S2fXVOtS なんでマクロ使えない奴らに話の主導権握られてるんだ
会社では作成者が仕様決めるんだから、従わない奴が悪いって話にしないと
会社では作成者が仕様決めるんだから、従わない奴が悪いって話にしないと
622デフォルトの名無しさん
2018/07/12(木) 08:24:55.93ID:PcCGU1N/ >>611
お前が言ってるのは「高級言語Basic最高」ってのと同じなんだよ。
ライブラリの有無の話じゃねーか。
今は知らねえがUIAutomationじゃ右クリック出来ねえとかライブラリの問題の場合もあるだろ。
俺は面倒だったけどPowerShellでもSendMessageでなんとかしたりしたが、それと一緒じゃね?
向いてる向いてないはあるがExcel絡みの場合にはVBAの方が向いてることも多い。
UIAutomationだって、単に操作して終わりならVBAじゃやらない。
問題はExcelが絡んでくる場合だ。
後は拘りだろう。
VBAから実行ファイルをShellなんかで呼び出して、実行ファイルは自分が終了時にファイルなんかに実行結果を書き出し、VBAがそれを読み込んでExcelに書き出すなんて処理はかっこ悪いから俺はやらねえ。
そういう場合はVBAで完結するように書くね。
お前が言ってるのは「高級言語Basic最高」ってのと同じなんだよ。
ライブラリの有無の話じゃねーか。
今は知らねえがUIAutomationじゃ右クリック出来ねえとかライブラリの問題の場合もあるだろ。
俺は面倒だったけどPowerShellでもSendMessageでなんとかしたりしたが、それと一緒じゃね?
向いてる向いてないはあるがExcel絡みの場合にはVBAの方が向いてることも多い。
UIAutomationだって、単に操作して終わりならVBAじゃやらない。
問題はExcelが絡んでくる場合だ。
後は拘りだろう。
VBAから実行ファイルをShellなんかで呼び出して、実行ファイルは自分が終了時にファイルなんかに実行結果を書き出し、VBAがそれを読み込んでExcelに書き出すなんて処理はかっこ悪いから俺はやらねえ。
そういう場合はVBAで完結するように書くね。
623デフォルトの名無しさん
2018/07/12(木) 08:33:24.56ID:VOM1FzVT 「荒らしにレスする者もまた荒らしである」
624デフォルトの名無しさん
2018/07/12(木) 09:20:52.92ID:oJfTnUyS >>623もまた荒らしである
625デフォルトの名無しさん
2018/07/12(木) 12:40:38.65ID:UHuYLFEw >>624こそ本物の嵐なのだ
626デフォルトの名無しさん
2018/07/12(木) 13:06:10.06ID:UCPP3cii 嵐見参!
627デフォルトの名無しさん
2018/07/12(木) 13:39:13.09ID:ybJMb5ar veryHidden ?
知らないな
知らないな
628614
2018/07/12(木) 15:13:26.88ID:3JoGuV3g ありがとうございます
veryhiddenはなんか見た記憶があるけど忘れてました
veryhiddenはなんか見た記憶があるけど忘れてました
629デフォルトの名無しさん
2018/07/12(木) 21:39:12.41ID:XPHyAO1T https://www.kentem.jp/product-info/dekispart/
この 入札・技術提案・施工計画 って画面、どう見てもExcelなんだけど
いいなー、これ、いいなー
って書けば誰か教えてくれるスレッドですか?
リボンのコマンドはともかく、右端の「ツリー表示」が知りたいんですけど
この 入札・技術提案・施工計画 って画面、どう見てもExcelなんだけど
いいなー、これ、いいなー
って書けば誰か教えてくれるスレッドですか?
リボンのコマンドはともかく、右端の「ツリー表示」が知りたいんですけど
630デフォルトの名無しさん
2018/07/12(木) 23:03:20.14ID:OcHWUr/t631デフォルトの名無しさん
2018/07/13(金) 00:10:14.84ID:wTSuY9bH632デフォルトの名無しさん
2018/07/13(金) 05:57:54.78ID:NJHrAwtr VSTOって言いたいのかもしれない
633デフォルトの名無しさん
2018/07/13(金) 06:06:13.06ID:NJHrAwtr カスタム作業ウィンドウって呼ぶみたい。
https://blogs.msdn.microsoft.com/saikik/2008/04/28/973/
https://blogs.msdn.microsoft.com/saikik/2008/04/28/973/
634デフォルトの名無しさん
2018/07/13(金) 07:12:19.04ID:wDWZqgcH インタラクティブな操作の拡張もC#でやったらVBAの出番がなくなっちゃう
ひどい
ひどい
635デフォルトの名無しさん
2018/07/13(金) 12:40:33.33ID:FjPirpe3 左上のアイコンが2007の頃のだし、大体がタイトルバーにExcelて書かれてるし
互換モードとかご丁寧に出てるしで、Excelと断定してたんです
右端に「ツリー表示」って出てる画像はそれっきゃ無いから間違いようが無いしで 省略してごめんなさい
脊髄反射の人へのエクスキューズはこのぐらいにしといて (←皮肉
そうですか、 カスタム作業ウィンドウねえ 知らなかった すごい助かりました
VSTOもためになります これを手掛かりに必死こいて実装に向けてがんばります <<632-633 さん、さすがです
互換モードとかご丁寧に出てるしで、Excelと断定してたんです
右端に「ツリー表示」って出てる画像はそれっきゃ無いから間違いようが無いしで 省略してごめんなさい
脊髄反射の人へのエクスキューズはこのぐらいにしといて (←皮肉
そうですか、 カスタム作業ウィンドウねえ 知らなかった すごい助かりました
VSTOもためになります これを手掛かりに必死こいて実装に向けてがんばります <<632-633 さん、さすがです
636デフォルトの名無しさん
2018/07/13(金) 14:44:01.02ID:gBl9kRIq ここまでしてVBAにこだわる理由はなんなんだろう
信仰心というやつなのかな
信仰心というやつなのかな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- 無期懲役ってマジでキツくね???
- 上原浩治さん「松井さんが大谷翔平のスイングをしてたらもっとHR打ってた」
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
