从 Web 项目打开Microsoft Word 文档到任何本地计算机

本文关键字:文档 任何本 计算机 Word Microsoft Web 项目 | 更新日期: 2023-09-27 18:35:48

下面是我点击按钮的代码。如果我将使用 localhost 运行项目,它将很好地打开 word 文档,但是当我要在 IIS 上托管此项目并尝试通过 IP 从另一台机器打开它时,它会将我的页面传输到错误消息。

Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
object file = "D:''poForM.docx";
object objFalse = false;
object objTrue = true;
object missing = System.Reflection.Missing.Value;
object emptyData = string.Empty;
object readOnly = false;
object visible = true;
wordApp.Visible = true;
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref file, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, visible, ref missing, ref missing, ref missing, ref missing);
aDoc.Activate();

从 Web 项目打开Microsoft Word 文档到任何本地计算机

您的代码依赖于服务器上存在Microsoft Word的实例(Microsoft.Office.Interop.Word.ApplicationClass)...并将目标文件放在服务器上的指定位置。

如果我正确理解您要做什么,您希望在IIS服务器上托管Word文档,但将其下载到本地计算机上进行编辑。

为此,您可以在网页中提供一个指向 Word 文档所在位置的链接,例如:

<a href="/path/on/the/server/to/my/word/document.docx">Open Word Document</a>

然后,当您单击链接时,浏览器将下载文档并在Word中打开它(假设它已安装在本地)

当然,如果我完全误解了你想做什么,请随时发表评论......

我相信您希望实现类似SharePoint的行为,用户可以打开文件,然后将其保存回服务器。这是一个类似的线程 Word 可以在没有 SharePoint 的情况下直接从 Web 服务器编辑文档?.这个解决方案的唯一缺点是 AFAIK 它只能在 IE 中工作。您也可以尝试new ActiveXObject("Word.Application");而不是new ActiveXObject("SharePoint.OpenDocuments");

相关文章: