回答編集履歴
4
しゅうせい4
answer
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
`objIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByName('csv')(0).Click();"",10);"`
|
20
20
|
でVBA側が行っているのは、objIEに対して「一定時間後に指定したコマンドを実行しなさい」と指示しているところまでです。
|
21
21
|
実際に'csv'というname属性を持つエレメントを探して、その中で先頭の要素に対してクリックイベントを行うのは、IE側(のJavaScript)になると思います。
|
22
|
-
|
22
|
+
つまり""で括られた中身`document.getElementsByName('csv')(0).Click();`の部分はJavaScriptの記述ということです。
|
23
23
|
JavaScriptでは関数名の大文字小文字なども厳密に区別されますので、`.Click()`では動作しないのだと思います。
|
24
24
|
|
25
25
|
余談
|
3
syuusei3
answer
CHANGED
@@ -24,9 +24,10 @@
|
|
24
24
|
|
25
25
|
余談
|
26
26
|
---
|
27
|
+
`~"window.setTimeout(""document.getElementsByName('csv')(0).click();"",10);"`
|
27
|
-
|
28
|
+
の代わりに
|
28
|
-
`
|
29
|
+
`~"window.setTimeout(""alert(document.getElementsByName('csv')(0).name);"",10);"`
|
29
|
-
のように記述すると、想定したエレメントが取得できていれば"csv"というメッセージが
|
30
|
+
のように記述すると、想定したエレメントが取得できていればIE上で"csv"というメッセージが表示されるようになります。
|
30
|
-
問題点を絞り込む
|
31
|
+
エレメントが取得できていなければメッセージは表示されませんので、問題点を絞り込むのに使えると思いますよ。
|
31
32
|
|
32
33
|
参考になれば幸いです。
|
2
しゅうせい2
answer
CHANGED
@@ -12,12 +12,12 @@
|
|
12
12
|
---
|
13
13
|
正常な動作が確認できている
|
14
14
|
`objIE.document.getElementsByName("csv")(0).Click`
|
15
|
-
という処理は、
|
15
|
+
という処理は、objIEが持つdocument内で'csv'というname属性を持つエレメントを探し、その中で先頭の要素に対してクリックイベントを行っています。
|
16
16
|
すべてVBA上で実行されるコードです。
|
17
17
|
|
18
18
|
これに対し、
|
19
19
|
`objIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByName('csv')(0).Click();"",10);"`
|
20
|
-
でVBA側が行っているのは、
|
20
|
+
でVBA側が行っているのは、objIEに対して「一定時間後に指定したコマンドを実行しなさい」と指示しているところまでです。
|
21
21
|
実際に'csv'というname属性を持つエレメントを探して、その中で先頭の要素に対してクリックイベントを行うのは、IE側(のJavaScript)になると思います。
|
22
22
|
|
23
23
|
JavaScriptでは関数名の大文字小文字なども厳密に区別されますので、`.Click()`では動作しないのだと思います。
|
1
syuusei
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
私もweb系には強くないのに今回参考にされている回答
|
1
|
+
私もweb系には強くないのに今回参考にされている質問で回答してしまった者です。(^-^;;
|
2
2
|
|
3
3
|
以下、推測交じりのアドバイスになってしまいますがご了承ください。
|
4
4
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
これに対し、
|
19
19
|
`objIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByName('csv')(0).Click();"",10);"`
|
20
20
|
でVBA側が行っているのは、IEに対して「一定時間後に指定したコマンドを実行しなさい」というところまでです。
|
21
|
-
実際に'csv'というname属性を持つエレメントを探して、その中で先頭の要素に対してクリックイベントを行うのは、IE側(のJavaScript)になる思います。
|
21
|
+
実際に'csv'というname属性を持つエレメントを探して、その中で先頭の要素に対してクリックイベントを行うのは、IE側(のJavaScript)になると思います。
|
22
22
|
|
23
23
|
JavaScriptでは関数名の大文字小文字なども厳密に区別されますので、`.Click()`では動作しないのだと思います。
|
24
24
|
|