无法使用 ActiveX 控件从我们的 Web 应用程序查看或编辑 ms office 软件中的文件
Posted
技术标签:
【中文标题】无法使用 ActiveX 控件从我们的 Web 应用程序查看或编辑 ms office 软件中的文件【英文标题】:Unable to view or edit the files in ms office software from our web app using ActiveX control 【发布时间】:2019-10-15 08:18:18 【问题描述】:我将 Microsoft Office 与我的 Web 应用程序集成在一起,可以通过单击在相应 Microsoft 软件中打开文件的编辑按钮来查看和编辑上传的文件。例如,如果上传了一个 word 文件,然后单击编辑按钮,该文件应在 Microsoft word 软件中打开。我正在使用 ActiveX 控件来实现此功能,以便在 IE 上使用以下代码打开文档,
spEditObj.EditDocument(FileURL);
我已经验证 FileURL 在单击编辑按钮时是正确的,断点控件出现在此处,此 FileURL 值正确,此函数 [ spEditObj.EditDocument(FileURL) ] 返回 true 值,但仍然是文件内容没有显示出来。
问题是,当我点击编辑按钮时,它会打开 Microsoft Word 应用程序,但文件内容未显示。
我猜是因为MS office安装不正确或者是缺少一些dll文件。
你能建议我解决这个问题吗?
谢谢。
【问题讨论】:
【参考方案1】:请检查文件权限,是否有读写权限。
我已经使用以下代码创建了一个示例,它在我的机器上运行良好,您可以参考它:
<script src="Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function ()
$('a').on('click', function ()
var file = $(this).attr('href');
// This is what does the work.
try
try
// get Word Active-X Object if Word is open.
var word = GetObject('', "Word.Application");
catch (e)
// create new Word Active-X Object.
var word = new ActiveXObject("Word.Application");
word.Visible = true; // Make sure Word is visible.
word.Documents.Open(file); // Open the file you want.
catch (e)
alert(e.description);
// End work.
return false;
);
);
</script>
<a href="<local file path>">Readiness.docx</a>
[注意]我们需要启用 Initialize and script active x 控件未标记为脚本安全(IE 浏览器工具菜单 -> Internet 选项 -> 安全 -> 自定义级别 -> 启用 Initialize and script active x 控件是未标记为安全脚本),请检查并启用它。
【讨论】:
【参考方案2】:是的.. 这个问题似乎是由于 WebDAV 目录的身份验证问题造成的。通过将 WebDAVDir 的身份验证从基本身份验证更改为 Internet 信息服务 (IIS) 管理器的 Windows 身份验证,我自己解决了这个问题。
【讨论】:
以上是关于无法使用 ActiveX 控件从我们的 Web 应用程序查看或编辑 ms office 软件中的文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 vb.net 从 MS Access DB 表单中找出 Activex 控件
当前线程不在单线程单元中,因此无法实例化 ActiveX 控件