[過去ログ] VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
602
(1): 2018/09/21(金)21:15 ID:Fm9zyYJ3(1/4) AAS
超初心者です。

Googleの検索窓に「VBA」と入力する サンプルコード
外部リンク:vba-code.net) を実行してみましたが、
objIE.document.getElementById("gbqfq").Value = "VBA"のところで
「実行時エラー 424 オブジェクトが必要です。」となって動きません。

「標準モジュールに以下のコードを追加して」の意味が分からないので、
標準モジュールをどう書いたらよいのか、どこに追加したらよいのかわからず
サンプルコードのみを実行しました。

どなたか親切な方、対応方法を教えてください。
難しいことはわからないので具体的にコードを書いてもらえると嬉しいです。
よろしくお願いいたします。
603
(1): 2018/09/21(金)22:26 ID:9i7TQATj(1) AAS
>>602
>>objIE.document.getElementById("gbqfq").Value = "VBA"

objIE.Document.getElementById("lst-ib").Value = "VBA"
604
(1): 2018/09/21(金)22:40 ID:Fm9zyYJ3(2/4) AAS
>>603
ありがとうございます!
できました!!!
なんか分からないけど動いて嬉しいです!
頑張ります。
605
(1): 2018/09/21(金)22:42 ID:MqKbhYRD(1) AAS
>>604
おう頑張れ!わからんかったらまたいつでも聞いてくれな!
606
(1): 2018/09/21(金)23:16 ID:Fm9zyYJ3(3/4) AAS
>>605
ありがとうございます!

同じことを別のホームページでしたくて、
URLと入力するところを変えてみたのですが、
実行時エラー438 オブジェクトはこのプロパティまたはメソッドをサポートしていませんとなって動きません。
ホームページは

外部リンク:www2.smile-etc.jpの画面でしたくて、

入力するところは
objIE.document.getElementsByName("Name1Kana").Value = "マイレージ"としてみました。

お時間あるときでよいので出来たらお願いします。

仕事で毎日同じような入力ばかりしていて自動化できるところをできたらいいなと思っているのですが、超初心者にはハードルが高くて難しいです 涙

'
607
(2): 2018/09/21(金)23:29 ID:m8DL5ZJ4(1) AAS
getElementById("gbqfq")
getElementById("lst-ib")

君は、この違いがわからないの?
HTML, DOM, CSS, JavaScript とか知らないの?

VBA には関係ないのだけど。
全言語・プログラミングに共通の話題なんだが
608: 2018/09/21(金)23:59 ID:Fm9zyYJ3(4/4) AAS
>>607
すみません、わかりません。
609
(1): 607 2018/09/22(土)01:01 ID:DCTpeoPT(1) AAS
HTML に書いてある、ID だよ

ウェブページは、HTML(DOM), CSS, JavaScript で出来ている。
ブラウザでF12 を押すと、開発者ツールが起動するだろ

これらを知らないと、ウェブ開発はできない!

VBA とは、全く関係ない
610: 2018/09/22(土)03:52 ID:AiTHsE5Z(1/2) AAS
>>609
>>609
知識もないのに場違いな質問をしてしまいすみませんでした。ご親切にありがとうございました。
611: 2018/09/22(土)09:42 ID:AiTHsE5Z(2/2) AAS
>>606
自己解決して、自動入力マクロができました!ありがとうございました。
612: 2018/10/12(金)07:52 ID:OKfVsW46(1) AAS
VBAでできることはC#でもやることはできますか?
613: 2018/10/12(金)07:55 ID:/wsNoZ03(1/2) AAS
できます
614
(1): 2018/10/12(金)09:20 ID:dGKqHjcm(1) AAS
ユーザー定義関数の作成以外ならなんでもできます
615
(2): 2018/10/12(金)09:54 ID:TjU2aakC(1/5) AAS
それにしても、なんで、マクロはFunctionしかcall出来ないんだろうね。
無駄にFunctionを作らないようにと英語の本には書いてある。Subで済むもをFunctionにするなと書いてある。
なのに、マクロの仕様のために、無駄にFunctionをつくったり、SubをcallするだけのFunctionを作ったりしないといけないのは間抜けな仕様だと思うがどうだろうか?
616
(2): 2018/10/12(金)10:38 ID:/wsNoZ03(2/2) AAS
>>614
それもC#で可能

>>615
ちょっと何言ってるかわかんないですね
617
(1): 2018/10/12(金)10:53 ID:TjU2aakC(2/5) AAS
>>616
マクロからSubをCallできないのは知ってますか?
618: 2018/10/12(金)12:09 ID:bZOmvKy4(1) AAS
>>617
知らないです
私の知ってるマクロだとsubもcallできるので
619: 2018/10/12(金)12:28 ID:YStpcFYj(1) AAS
>>616
本当に?
ワークシートからDLL関数をCallするためのインターフェースだけはVBAネイティブのFunctionとして書かなきゃいけないと思ってた
ワークシートから直接C#ソースの関数をCall出来るってこと?

>>615
SubもCall出来る
というかSubは本来Subroutineのことを指すのでそもそもCallできなきゃおかしい
620: 2018/10/12(金)14:32 ID:E7u6qrbY(1) AAS
あれ?エクセルは出来るの?
アクセスは駄目なんだよ
621: 2018/10/12(金)17:15 ID:QO2uhWCP(1) AAS
VBAしか使わない人間は、WinAPI使わない人間はSubしかCallしない。
622: 2018/10/12(金)17:26 ID:Vm21lImY(1/3) AAS
VBAより日本語がおかしい
623: 2018/10/12(金)17:45 ID:TjU2aakC(3/5) AAS
なんでAccessはマクロからSubを呼び出せない仕様なんだろうか?
624: 2018/10/12(金)17:45 ID:TjU2aakC(4/5) AAS
つーか、ここはExcelのスレなのかな?
625: 2018/10/12(金)18:11 ID:Zsf/ZX4u(1) AAS
Accessでも出来るぞ
626: 2018/10/12(金)18:20 ID:4bQjrfTH(1) AAS
ほんとに?MSのサイトに対処方法が書いてあったけどなあ。
仕事で使ってたmdbでエラー出まくってSubをFunctionに書き換えた記憶があるけどなあ
627
(1): 2018/10/12(金)18:45 ID:S2JrLclJ(1) AAS
意味が分からん。
ExcelだろうがAccessだろうが当たり前にできる。
やり方間違えてるだけだろ。

lngRet = FuncA("何かの引数")
Call SubA("何かの引数", "何かの引数2")
これはできる。

SubでCallを省いた場合に
SubA("何かの引数1", "何かの引数2")
とするのは出来ない。

Callを省く場合は
SubA "何かの引数1", "何かの引数2"
とする。
628
(1): 2018/10/12(金)19:05 ID:TjU2aakC(5/5) AAS
>>627
AccessとExceの用語の違いが問題かもしれません。
Accessだとマクロのデザインビューで新しいアクションの実行→プロシジャーの実行を選択→プロシジャー名を指定という流れです。
ここでSubを入れるとエラーになり、Functionを入れると実行されます。
全く同じ動作でもSubだとエラーでFunctionだと実行されるという謎仕様のことです。
629: 2018/10/12(金)19:37 ID:aE6SgoRY(1) AAS
同じように困ってる人がいました。
Subプロシージャをマクロで実行する方法を教えてください
外部リンク:webcache.googleusercontent.com

Calling Sub from Macro
外部リンク:www.pcreview.co.uk
630
(1): 2018/10/12(金)19:39 ID:wk7eAlWy(1) AAS
>>628
Accessマクロの「プロシージャの実行」機能は、Functionプロシージャに限ってアプリ経由でコールバックさせることができるっていう一種のリフレクション機能だから、仕様上Subプロシージャを呼べないのは当たり前

でも普通はVBAその他一般のプログラミング言語の話題でCallするとかコードを呼び出すとか言う場合、プログラムのコード中で他のプロシージャ(=メソッド)を呼び出すこと一般を指す
AccessだろうがCallステートメントでSubを呼べないわけがない

全然話してる内容が違う
631: 2018/10/12(金)19:42 ID:4ERZBcjn(1/2) AAS
MSの提示する対処方法
外部リンク:docs.microsoft.comから抜粋
>>[!ヒント] Visual Basic で記述した Sub プロシージャまたはイベント プロシージャを実行するには、Sub プロシージャまたはイベント プロシージャを呼び出す Function プロシージャを作成します。
>>その後、 RunCode アクションを使用して、Function プロシージャを実行します。
1-
あと 371 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.014s