Automation 服务器不能创建对象--MSComDlg.CommonDialog

  //显示打开文件对话框选择一个文件,从客户端本地文件中载入报表模板
        function btnLoadLocalFile_onclick() {
            var fd = new ActiveXObject("MSComDlg.CommonDialog");
            fd.Filter = "Report(*.grf)|*.grf";
            //fd.Filter = "*.*";
            fd.FilterIndex = 2;
            // must setting
            fd.MaxFileSize = 128;
            fd.ShowOpen(); //fd.ShowSave();
            var FileName = fd.FileName;
            if (FileName != "") {
                var fso = new ActiveXObject("Scripting.FileSystemObject");
                FileName = fso.GetFileName(FileName);

                //    txtRptName.value = FileName.substr(0, FileName.length - 4);

                ReportDesigner.Report.LoadFromFile(FileName);
                ReportDesigner.Reload();
            }
        }


        //另存为
        function btnSaveFile_onclick() {         
            ReportDesigner.Post();
            var fd = new ActiveXObject("MSComDlg.CommonDialog");
            fd.Filter = "Report(*.grf)|*.grf";
          //  alert('fileDialog.CancelError;' + fd.CancelError);
          //  fd.CancelError = true;
            //fd.Filter = "*.*";
            fd.FilterIndex = 2;
            // must setting
            fd.MaxFileSize = 128;
            
            try {
                fd.ShowSave();
                var FileName = fd.FileName;
                if (FileName != "") {
                    var fso = new ActiveXObject("Scripting.FileSystemObject");
                    FileName = fso.GetFileName(FileName);
                  //  Report.SaveToFile(FileName);
                    ReportDesigner.Report.SaveToFile(FileName);
                }
            } catch (e) {
                if (e.message != 'Cancel was selected.')
                    alert(e.description);

            }
        }

 

 <div class="navigationBg">
        <input id="Button2" name="btnLoadLocalFile" οnclick="return btnLoadLocalFile_onclick()"
            class="Btn" type="button" value="载入本地文件" />
         
        <input id="Button4" name="btnLoadLocalFile" οnclick="return btnSaveFile_onclick()"
            class="Btn" type="button" value="另存为" />
         
        <input id="Button1" name="btnSave" class="Btn2" type="button" value="保存" language="javascript"
            οnclick="return btnSave_onclick()" />
         
        <input id="Button3" class="Btn2" type="button" value="关闭" language="javascript" οnclick="javascript:window.close();" />
    </div>



打开和保存老是 出现 “Automation 服务器不能创建对象”,就算是注册表里面已经安装了,还是时好时坏,按照百度等 查询 虽然能解决一台电脑,但是其他的电脑还是出现问题,因为是BS的,所以 不能帮助所有用户做这个操作。

 后来 觉得应该修改成不依赖注册组件的方式

 

   //显示打开文件对话框选择一个文件,从客户端本地文件中载入报表模板
        function btnLoadLocalFile_onclick() {
            document.all.LOADFILE.click();        
          
            var FileName = document.all.LOADFILE.value;
            if (FileName != "") {
                var filetypes = FileName.substring(FileName.lastIndexOf('.') + 1, FileName.length)
                if (filetypes == 'grf') {
                    ReportDesigner.Report.LoadFromFile(FileName);
                    ReportDesigner.Reload();
                }
                else {
                    alert("只能上传 *.grf 格式的报表文件!")
                }

            }
        }

        //另存为
        function btnSaveFile_onclick() {
            ReportDesigner.Post();
            try {
                var FileName = 'c:\\Report.grf';
                if (FileName != "") {
                    ReportDesigner.Report.SaveToFile(FileName);
                    alert("报表文件已经保存到:" + FileName);
                }
            } catch (e) {
                if (e.message != 'Cancel was selected.')
                    alert(e.description);

            }
        }


 

 <input type="file" name="LOADFILE" style="display: none">
    <div class="navigationBg">
        <input id="Button2" name="btnLoadLocalFile" οnclick="return btnLoadLocalFile_onclick()"
            class="Btn" type="button" value="载入本地文件" />
         
        <input id="Button4" name="btnLoadLocalFile" οnclick="return btnSaveFile_onclick()"
            class="Btn" type="button" value="另存为" />
         
        <input id="Button1" name="btnSave" class="Btn2" type="button" value="保存" language="javascript"
            οnclick="return btnSave_onclick()" />
         
        <input id="Button3" class="Btn2" type="button" value="关闭" language="javascript" οnclick="javascript:window.close();" />
    </div>


 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值