从IE打开Word文档

5
我正在本地网络上通过IE打开一个Word文档,它能够成功打开,但如果该文档受密码保护,则应提示输入密码,然而并未出现密码提示。
请问我需要采取什么措施才能触发密码提示呢?
我是通过网页上的链接打开文档的,例如:
<a href="\\path\to\file.doc">Document</a>

你是说这个文件有密码保护,但在浏览器中仍然可以显示吗? - Pedery
你好Pedery,该文件有编辑密码。当您正常打开文件时,会出现密码提示,还可以选择只读模式打开文件,但是当您像上面那样使用IE打开文件时,它不会提示输入密码,您可以编辑并保存原始文件。 - Nalum
我发现有人在3年前遇到了同样的问题,但没有答案:http://help.lockergnome.com/office/internet-explorer-bypasses-read-settting-word-2003-doc--ftopict1000973.html - mathmike
2个回答

5

我已经使用以下JavaScript/jQuery实现了我想要的功能。 不需要jQuery,我只是因为项目中已经有它而使用它。

$('a.openDoc').live('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;
});

感谢您在找到解决方案后进行了发布。这将帮助未来遇到相同问题的人们。 - RandyMorris
没问题,如果我自己找到了解决方案并且没有提供答案,我会随时添加我的解决方案。编辑答案以说明在示例中也使用了jQuery,但不是必需的。 - Nalum

1

谢谢,文档已经在 Word 中打开了,而不是在 IE 中。我正在尝试打开的文件已经存在,而不是动态生成的。我会尝试一下,看看是否有效。我明天才能试试。 - Nalum
如果我没有弄错的话,你的文件是在Word本身还是IE中打开取决于某些注册表设置。因此,你可以轻松地覆盖自己机器上的设置,但你可能希望在所有浏览器中以一致的方式打开它。为了做到这一点,你必须使用类似于上面链接中列出的方法。这样,你就可以(如果愿意)在同一个网页中提供两个链接到相同的文档 - 一个将在IE中打开,另一个将在Word中打开。 - Pedery
你好Pedery,这个操作打开了一个本地副本文件,只能以只读方式打开,这是可以的。但是如果文件是可编辑的,它不会打开原始文件进行编辑,而是下载文件为临时文件并允许你保存。不幸的是,这种方法行不通,因为用户不知道文件在网络上的位置。 - Nalum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接