Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我不能用VBA访问此弹出框的内容吗?_Javascript_Html_Excel_Vba - Fatal编程技术网

Javascript 为什么可以';我不能用VBA访问此弹出框的内容吗?

Javascript 为什么可以';我不能用VBA访问此弹出框的内容吗?,javascript,html,excel,vba,Javascript,Html,Excel,Vba,以下是弹出框的html: SERFF-电子费率和表格归档系统 var staticUrlPath='/'; var appUrlPath='/serff/'; //自定义SERFF尺寸: //维度1=SERFF用户类型自定义GA维度 var analyticsEnabled=真; //插入分析脚本并初始化Google analytics“ga”对象 如果(分析已启用){ var currentScript=document.currentScript | |(函数(){ var script

以下是弹出框的html:


SERFF-电子费率和表格归档系统
var staticUrlPath='/';
var appUrlPath='/serff/';
//自定义SERFF尺寸:
//维度1=SERFF用户类型自定义GA维度
var analyticsEnabled=真;
//插入分析脚本并初始化Google analytics“ga”对象
如果(分析已启用){
var currentScript=document.currentScript | |(函数(){
var scripts=document.getElementsByTagName('script');
返回脚本[scripts.length-1];
})();
var gaScript=document.createElement('script');
gaScript.async=true;
gaScript.src='/public/lib/ga/analytics.js';
document.getElementsByTagName(“head”)[0].insertBefore(gaScript,currentScript);
var ga=window.ga=window.ga | | function(){(window.ga.q=window.ga.q | |[])。push(参数)};
window.ga.l=+新日期();
window.GoogleAnalyticsObject='ga';
ga(“创建”、“UA-5133885-7”、“自动”);
}
函数分析SPAGEVIEW()
{		
doSendAnalytics(函数(){
ga(‘发送’、‘页面浏览’);
});
}
函数analyticsPageViewWithUserType()
{doSendAnalytics(函数(){
ga('send'、'pageview'{
“维度1”:getUserType()
});
});
}
函数analyticsEvent(eventCategory、eventAction、回调){
如果(回调){
doSendAnalytics(函数(){
ga('send','event',eventCategory,eventAction,{'hitCallback':callback});
});
}否则{
doSendAnalytics(函数(){
ga(“发送”、“事件”、事件类别、事件操作);
});
}		
}
函数analyticsEventWithUserType(eventCategory、eventAction、回调){
如果(回调){
doSendAnalytics(函数(){
ga('send','event',eventCategory,eventAction,{'hitCallback':回调,'dimension1':getUserType()});
});
}否则{
doSendAnalytics(函数(){
ga('send','event',eventCategory,eventAction,{'dimension1':getUserType()});
});
}
}
函数getUserType(){
var userType='I';
如果(userType='S'){
用户类型='状态用户';
}else if(userType==“I”){
用户类型='行业用户';
}else if(userType='N'){
userType='NAIC Admin User';
}
返回用户类型;
}
//仅在INI文件中启用时向GA发送消息
函数doSendAnalytics(方法){
如果(分析已启用){
方法();
}
}
SERFF-电子费率和表格归档系统
var uploadSubmitted=false;
$(文档).ready(函数(){
$(“表单”).submit(函数(事件){
如果(上传已提交){
警报(“您已执行此操作。请等待页面刷新。”);
event.preventDefault();
}否则{
uploadSubmitted=true;
}
});
});
var skipcycle=false;
函数updateAttachments(){
var groupId=window.opener.selectedAttachmentGroup;
if(uploadForm.groupId.value==null | | uploadForm.groupId.value==''){
uploadForm.groupId.value=groupId;
}
var index=window.opener.selectedIndex;
if(uploadForm.index.value==null | | uploadForm.index.value==“”){
uploadForm.index.value=索引;
}
}
函数focusOnMe(){
如果(!skipcycle){
window.focus();
}
mytimer=setTimeout('focusOnMe()',500);
}						
SERFF文件附件上传
超过3MB的附件或Microsoft Word(tm)文档无法上载到SERFF。
文件1:
文件2:
文件3:
文件4:
文件5:

聊天室讨论后编辑 原来文件还没有装好。检查
ieUpload.Busy
成功了。例如,请参阅在
DoEvents
循环中检查
Busy

原始答案 首先:

  • 确保源文件顶部有
    选项Explicit
  • 确保已将对象引用添加到正在使用的HTML库中。除非没有其他选择,否则不要使用
    CreateObject
  • 确保已使用
    Dim
    为所有变量指定特定类型,而不是
    变量
    对象
现在,假设您使用的是
MSHTML
,则没有函数
文档。获取
元素
。你想要的是
get
元素
,而不是“元素”上的“s”。代码的单步执行-我怀疑当你点击For循环时,
uploadForm
什么都没有,所以
uploadForm.getElementsByTagName
正在引发错误

编辑那么我为什么提到添加上面的引用?因为如果您添加了引用,并且说了
Dim uploadForm as MSHTML.IHTMLElement2
,VBA编辑器会自动将大小写更改为
uploadForm.getElementsByTagName
。既然没有,我想您没有安装
Dim
,或者它不是一个特定的
Dim

(当然,除非您创建了一个名为
getelementsbytagname
的变量,您不应该这样做:)


一个MSHTML示例,链接自。

我已经更新了问题。我的目标是打开“文件”对话框并使用sendkeys(抖动)输入文件名。我试过使用发送键在窗口中点击tab并选择浏览按钮,但也无法正常工作。谢谢,我需要复习一下要点。我仍然会犯同样的错误。这就好像在uploadForm中根本没有输入标签一样。我不明白它为什么不合作:(@Seraphim那么当你在调试器中执行一步时,
uploadForm
,你得到了什么值?另外,你可以添加
Debug.Print
语句