html - 如何使用 Excel VBA 在 Web 表单上显示灰显的文本字段?

标签 html excel vba internet-explorer

我正在使用 Excel VBA 填充 Internet Explorer Web 表单。我能够获取成功填写表格的所有信息。但是,表单上的某些字段仍然显示为灰色,您无法对其进行编辑,即使它们的字段中已填充了数据。

以这张图片为例:

enter image description here

看看电话号码是如何填充在字段中但该字段保持灰色的吗?那就是问题所在。我正在寻找一种以编程方式显示该字段的方法,以便它变得可编辑。

因此,我能够通过模拟用户单击某些下拉菜单来修复某些字段的此问题,这通常会显示该字段。然而,这不适用于该领域以及其他一些领域。

这是我尝试使用 Excel VBA 以编程方式显示的字段的 HTML。

<td colspan="1" rowspan="1" align="left">
<input type="hidden" name="p_arg_names" value="97183355576083984700">
<input type="text" id="P1_REPORTED_BY_CONTACT" name="p_t20" value="" size="50" maxlength="255" class="text_field apex_disabled" disabled=""></td>

这是我通常用来将数据从 Excel 填充到表单字段的代码。它将元素 ID 设置为等于其命名的 Excel 范围中的值。

doc.getElementById("P1_REPORTED_BY_CONTACT").Value = Range("ContactForm").Value

“联系信息”字段应如下所示。该字段将变为白色,然后即可编辑。

enter image description here

如果您能给我任何建议/意见,我将不胜感激。或者,如果您知道答案在哪里,请为我指出正确的方向,我会将其删除。经过几天的研究,我找不到这个问题的答案。

最佳答案

使用

启用该字段
doc.getElementById("P1_REPORTED_BY_CONTACT").Disabled = False

并将 class="text_field apex_disabled" 更改为 class="text_field"

doc.getElementById("P1_REPORTED_BY_CONTACT").className = "text_field"

使其变白。如果这不起作用,请检查已启用字段的class,并将该字段设置为相同的类。

关于html - 如何使用 Excel VBA 在 Web 表单上显示灰显的文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56582570/

相关文章:

javascript - 如何使用JS保留下拉列表的值?

javascript - 如何使用 sqlite 根据其在 Node js 上的 id 显示输出(HTML)

javascript - 使用上下文菜单时保留 javascript 链接

Excel,WorkSheet_Change 给出未定义的子或函数

python - 将 Pandas 数据框中的数据行移动到最后一列的末尾

excel - 为 XLS、XLSX 和 XLSM 编写的宏之间是否存在兼容性问题?

html - Struts2 中的复选框对齐问题

excel - for 循环的第二次迭代中出现对象变量或 with block 变量未设置错误

excel - VBA - 检测是否安装了应用程序以使用它

VBA EXCEL - 查找列中最早的日期