質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

8644閲覧

VBAのIEオブジェクト操作でテキストボックスに値を設定できない

y-ohashi

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/05/05 05:43

###前提・実現したいこと
VBAのIE操作についてお詳しい方のアドバイスを頂きたいです。

###発生している問題・エラーメッセージ
BUYMAのポップアップ表示中のテキストボックスに値を設定するが、別のJavaScript判定に未入力と判断されてしまう。(VBAでの値設定後、画面の対象テキストには値が入っている)

###該当のソースコード

vba

1Set tmpObj = objIE.Document.getElementsByClassName("js-color-size-color-name")(0) 2tmpObj.value = "test" 'この時点でIEの対象テキストに値が設定される 3 4・・・中略 5 6Set tmpObj = objIE.Document.getElementsByClassName("js-add-color")(0) 7tmpObj.Click 'このボタンクリックでチェック処理が行われる

###試したこと
FireEvent "onchange"
FireEvent "onblur"
等、テキストの値設定後に行ってもだめでした。

###補足情報(言語/FW/ツール等のバージョンなど)
BUYMAのアカウントがないと、実際の出品ページで操作が試せないのですが、
具体的には添付画像の状態になります。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seastar3

2017/05/08 01:22 編集

Webページ内のVBScriptではないのですか。VBAがどのオフィスアプリで動作するのかを示して下さい。
y-ohashi

2017/05/07 22:44

失礼しました。VBAはExcelでOffice365、IEのバージョンは11になります。
y-ohashi

2017/05/07 22:47

VBAで対象のテキストに値を設定後、ブラウザ上のテキストボックスには値が入っているように見えますが、開発者ツール等でテキストボックスのvalueを見ると""(ブランク)になってしまいます。何故だろう。。
guest

回答1

0

まず、別のJavaScript判定と出てきたりして、JavaScriptなのかVBScriptなのか、ExcelかWord上のフォームなのかはっきりしないのですが、あるWebページ内のJavaScriptを用いた動作だと考えて回答すれば、

Webページのbody内に

HTML

1<input type="button" id="btnAddColor" value="追加する">

WebページのJavaScript中に、

JavaScript

1document.getElementById( "btnAddColor" ).addEventListener( "click", function() { 2 var txtColor = document.getElementsByClassName( "js-color-size-color-name" ); 3 document.getElementsByClassName("js-add-color").text = txtColor; 4} );

のように準備して、テキストボックス内の文字列を、表示する領域に流し込みます。

投稿2017/05/06 13:09

seastar3

総合スコア2285

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y-ohashi

2017/05/07 07:25

別のJavaScript判定は添付画像の「追加する」ボタンのJavaScriptになります。 ご教授頂いた方法では、"js-add-color" = 「追加する」ボタン のtextに値を設定することになり、 ちょっと目的の挙動とは異なってしまいます。 VBAで値設定後、1文字でもキーボードで追加入力を行うと、その場合はテキスト値が認識されるようなので、ちょっとその辺りも踏まえて原因分析中です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問