【发布时间】:2015-03-10 02:18:21
【问题描述】:
我之前在 IE 11 中编写过 VBA,并且能够解决问题,但在此我不断收到错误 91 或错误 424。虽然有时它可以完美运行。
很遗憾,由于受密码保护,我无法分享确切的网站,但我提供了相关的源代码。
我做选项显式,所以我的变量应该没有问题。
这些都是我尝试用昨天的日期填充框的所有不同方法,但它们都不起作用。
html.getElementById("begin")(1).Value = Format(Date - 1, "mm/dd/yyyy") '<-error 91
Set StartDate = html.getElementById("begin") ‘<- Error 424 or Erorr 80010108
Set EndDate = html.getElementById("end")
Set CampaignID = html.getElementById("campaign_id")
这是我正在尝试的 4 种不同的方法,但它们都会定期工作。
StartDate.Item(0).Value = Format(Date - 1, "mm/dd/yyyy") ‘<-Error 91
StartDate.Value = Format(Date - 1, "mm/dd/yyyy")
StartDate.Value(0) = Format(Date - 1, "mm/dd/yyyy")
Set StartDate(0).Value = Format(Date - 1, "mm/dd/yyyy
源代码:
<div class="row form-group">
<div class="col-xs-12">
<div class="row">
<div class="pull-left text-left" style="width:115px;margin-left:20px">
<label for="">From :</label>
</div>
div class="col-xs-3">
<input type="text" name="begin" value="" class="form-control input-sm datepicker" id="begin" />
</div>
<div class="col-xs-1 text-right">
<label for="">To :</label>
</div>
<div class="col-xs-3">
<input type="text" name="end" value="" class="form-control input-sm datepicker" id="end" />
</div>
</div>
</div>
</div>
【问题讨论】:
-
这个 VBA 是在另一个主机中(例如 Word/Excel/等),还是在 HTML 本身的
<script>块中运行的 VBScript? -
getElementById()返回单个元素,因此不要尝试将返回值视为集合。Set StartDate = html.getElementById("begin")应该在页面完全加载且完整的情况下工作,并且html代表一个 Document 对象。显示更多代码可能会有所帮助,包括相关的变量声明。 -
Dai - 我在 Excel 中运行它。还有蒂姆,谢谢你的指点!我无法在网上找到太多关于差异的信息,但经过更多实验后,我明白你的意思了。
标签: excel vba internet-explorer-11