Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
IEのボタンをクリックできません。
投稿日時: 19/10/01 10:27:10
投稿者: asdf2468

お世話になります。
”編集”と表示されたボタンをクリックしたいのですが、下記コードでは動作しません。
Win10/Excel2016/IE11
--------------------------
For Each objtag In objIE.document.getElementsByTagName("input")
    If InStr(objtag.outerHTML, "編集") > 0 Then
        'buttonボタンクリック
        objtag.Click
        'IEが完全表示されるまで待機
        Call ieCheck(objIE)
        'ループ脱出
        Exit For
    End If
Next
--------------------------
ソース
<input value="green" type="hidden" name="button1Color" id="button1ColorHidden">
<input value="編集" type="hidden" name="button1Text" id="button1TextHidden">
<input value="goPage('GoEditRequest.do')" type="hidden" name="button1Action" id="button1ActionHidden">
 
試行錯誤をしているのですが、解決策がわかりません。どうか、アドバイスをお願いします。
よろしくお願いいたします。

回答
投稿日時: 19/10/01 23:39:37
投稿者: simple

そもそもですけど、
(1)Form タグの中で定義されたものであれば、
  HiddenタイプのInputタグは、普通、Formをサブミットしたときに、
  <form> の action で指定したアクションに渡すために用いられるものですよね。
(2)<Form>タグの外で使うときもあるようですが、その時には OnClickが定義されるはずです。
どんな動作を期待しているのでしょうか?
そのURLを示すことはできますか?

投稿日時: 19/10/02 11:40:33
投稿者: asdf2468

simpleさん
コメントありがとうございます。また、説明不足で申し訳ございません。
 
社内システムなのでURLを示すことはできないのですが、
1)トップ(アイテム選択)画面
↓ アイテム選択後
2) 編集、承認などの選択画面
↓ 編集ボタンクリック後
3)編集画面
URL http://xxxxxxxxxxxxxxxxxxx/GoEditRequest.do
に遷移します。
 
今回の質問は2)の操作をVBAで行いたいということです。
ソースには下記記載がありました。
script blockの中
function onclick()
{
goPage('GoEditRequest.do')
}
xxx.jsの中
function goPage(/*String*/ url) {
    document.getElementsByName('FORM1')[0].action = url;
    document.getElementsByName('FORM1')[0].submit();
}
 
初心者でポイントかわからないのですが、この内容でアドバイスを頂ければ幸いです。
 
よろしくお願いいたします。

回答
投稿日時: 19/10/02 11:58:23
投稿者: simple

コメント拝見。
そもそも社内システムなら、社内の方に相談して下さい。
 
その際、なぜ、VBAで操作する必要があるのか、
逆に言えば、現状の仕組みで、どこに不備ないし使いにくさがあるのか、を
説得的に示す必要があるでしょう。
よくあるのは、一括処理的なことですが、
それには別のデータ一括入力機能を持っている可能性もあります。
 
自己流の使い方をしても、それが適切な効果を得るのか疑問ですし、
こうした掲示板で得た知識で例外的な使い方をすることには
なんらかのリスクもあるかもしれません。
一方で、もし改善すべき点があり、それが改善できるなら、社内への貢献もできます。
社内で相談して下さい。

投稿日時: 19/10/02 16:44:16
投稿者: asdf2468

simpleさん ご指摘ありがとうございます。
システムを提供している部門に相談してみます。