回答編集履歴

2

ミス修正

2019/03/24 01:39

投稿

komugi3333
komugi3333

スコア94

test CHANGED
@@ -5,6 +5,10 @@
5
5
 
6
6
 
7
7
  当方もよくわかってないのですみませんが、こちらで同じようなHTMLを書いてテストしてみましたら、最初にご提示されてたコード(Click)で普通に動きました。
8
+
9
+ (Excel側は「Microsoft Internet Controls」と、「Microsoft HTML Object Library」を参照設定してから)
10
+
11
+
8
12
 
9
13
  ただ、HTMLを表示した時に、「ブロックされているコンテンツを許可」というボタンを押せ、みたいなメッセージが出たのでそれを押しましたが・・・。
10
14
 

1

ミス修正

2019/03/24 01:39

投稿

komugi3333
komugi3333

スコア94

test CHANGED
@@ -1,3 +1,111 @@
1
- click ではくて、Submitメソッド ではどうなるでしょうか?
1
+ ごめんさい。
2
2
 
3
+ 間違えて回答してしまいました。
4
+
5
+
6
+
7
+ 当方もよくわかってないのですみませんが、こちらで同じようなHTMLを書いてテストしてみましたら、最初にご提示されてたコード(Click)で普通に動きました。
8
+
9
+ ただ、HTMLを表示した時に、「ブロックされているコンテンツを許可」というボタンを押せ、みたいなメッセージが出たのでそれを押しましたが・・・。
10
+
11
+
12
+
13
+ テストに使ったHTMLの中身は次の通りです。
14
+
15
+ 「="js_DownLoad();" 」の部分の「;」は付けてもつけなくても動きました。
16
+
17
+ ```HTML
18
+
19
+ <input name="btnDownLoad" style="width: 200px; padding-right: 0px; padding-left: 0px;" onclick="js_DownLoad();" type="BUTTON" value="ダウンロード開始">
20
+
21
+
22
+
23
+ <script>
24
+
25
+ function js_DownLoad() {
26
+
27
+ alert('aaaaaaa')
28
+
29
+ }
30
+
31
+ </script>
32
+
33
+ ```
34
+
35
+
36
+
37
+ ExcelVBAのほうでは、すでに開いているIEの画面を取得する形でCallしてみました。
38
+
39
+ ```VBA
40
+
41
+ Sub test111()
42
+
43
+ Dim objIE As InternetExplorer
44
+
45
+ Dim objShell As Object
46
+
47
+ Dim objWin As Object
48
+
49
+
50
+
51
+ 'Shellオブジェクトを作成する
52
+
53
+ Set objShell = CreateObject("Shell.Application")
54
+
55
+
56
+
57
+ For Each objWin In objShell.Windows
58
+
59
+
60
+
3
- https://www.vba-ie.net/form/submit.php
61
+ If objWin.Name = "Internet Explorer" Then
62
+
63
+
64
+
65
+ 'InternetExplorerオブジェクトをセット
66
+
67
+ Set objIE = objWin
68
+
69
+
70
+
71
+ Exit For
72
+
73
+
74
+
75
+ End If
76
+
77
+
78
+
79
+ Next
80
+
81
+
82
+
83
+ Call IEButtonClick(objIE, "ダウンロード開始")
84
+
85
+
86
+
87
+ End Sub
88
+
89
+
90
+
91
+ Public Function IEButtonClick(ByRef objIE As Object, buttonValue As String)
92
+
93
+ Dim objInput As Object
94
+
95
+ For Each objInput In objIE.document.getElementsByTagName("INPUT")
96
+
97
+ If objInput.Value = buttonValue Then
98
+
99
+ objInput.Click
100
+
101
+ Exit For
102
+
103
+ End If
104
+
105
+ Next
106
+
107
+ End Function
108
+
109
+
110
+
111
+ ```