使用VBA触发HTML事件

时间:2015-11-23 10:11:22

标签: html vba dom internet-explorer-8

我尝试使用代码模拟相同的事件,当我单击按钮时会发生这种情况。 我使用的参考文献是 Microsoft HTML Object Library & Microsoft Internet Controls

html事件是“onclick”,以下行来自源代码

<div>
    <!-- PAGE TITLE -->
    <div class="page-title">
        <h3>Daten Update</h3>
        <div class="title_right">
        </div>
    </div>
    <div class="clearfix"></div>

    <!-- ALERTS -->
    <div class="row">
        <div class="col-md-12 col-sm-12 col-xs-12">
            <div class="x_panel">
                <div class="x_title">
                    <h2>Fehler<small>Kleiner Text</small></h2>
                    <div class="clearfix"></div>
                </div>
                <div class="x_content bs-example-popovers">
                    <div class="alert alert-danger alert-dismissible fade in" role="alert">
                        <strong>Strong text.</strong>What to do now?
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- CONTENT -->
    <div class="row">
        <div class="col-md-12 col-sm-12 col-xs-12">
            <div class="x_panel">
                <div class="x_title">
                    <h2>Neues Daten Update ausführen</h2>
                    <div class="clearfix"></div>
                </div>
                <div class="x_content">

                    <?php echo form_open('dataupdate/update'); ?>
                        <input type="text" name="test" />
                        <button>Ausführen</button>
                    <?php echo form_close(); ?>

                </div>
            </div>
        </div>
    </div>

</div>

当我尝试通过getElementByID访问对象“WeitereDaten”时,没有任何反应,所以我试图找出必要的事件......

main.cabPestanaV2_1.select('WeitereDaten');;return false;

Document.getElementById("WeitereDaten").click

不会返回错误,但实际上没有点击按钮(没有任何反应)。

html source code snippet

1 个答案:

答案 0 :(得分:0)

Document.getElementById("WeitereDaten").click

这不起作用,因为该元素没有Id - 因此getElementById方法将返回Nothing

你最好的选择是使用:

Dim myLinks As Object
Set myLinks = Document.getElementsByTagName("a")

然后遍历myLinks HTMLcollection对象,并测试每个元素以查看它是否是您需要的链接。一旦确定了正确的元素然后,您就可以尝试触发其中一个事件。

不幸的是,由于没有可以使用DOM对象解析的唯一标识符,因此您无法直接在VBA中访问该元素。