gpt4 book ai didi

sharepoint - 将凭据传递给 Word Interop 以在 SharePoint 中打开文档

转载 作者:行者123 更新时间:2023-12-01 22:41:16 26 4
gpt4 key购买 nike

开发 WPF 应用程序 (C# 4.0)。

系统在SharePoint中存储了大量的Word文档。 Word 可以直接编辑这些文档,因为 SharePoint 通过 WebDAV 将文档库公开给 Office。

为了启动 Word 来编辑这些文档,我们的 WPF 应用程序使用 Microsoft.Office.Interop.Word。

发现(通过简单尝试)使用 Interop.Word 打开本地文档与通过 WebDAV 从 SharePoint 打开文档之间的唯一区别是您传递的 ref 对象 FileName 是 URL 而不是本地路径字符串。

这一切都有效:

var wordApplication = 
new Microsoft.Office.Interop.Word.Application { Visible = true };

object filePath =
"http://PathToSharepoint.com/DocumentLibrary/DocumentName.doc";

object missing = Missing.Value;
object readOnly = false;
object isVisible = true;

Document reportDoc = wordApplication.Documents.Open(
ref filePath,
ref missing,
readOnly,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref missing,
ref isVisible);

reportDoc.Activate();

但是,如果运行应用程序的 Windows 用户不是具有文档库权限的域用户,Word 充其量会提示他们输入用户名和密码,最坏的情况有时只是抛出 COMException。

用户已经使用他们需要提供的相同凭据登录到我们的 WPF 应用程序,并且我们在内存中拥有用户名和 securePassword。但是,我看不出有任何明显的方法可以向 Word 提供这些凭据。

有人知道我如何提供类似于 NetworkCredential 的东西吗?

最佳答案

您是否尝试以您拥有用户名和密码的用户身份来执行代码?网上有很多如何做到这一点的示例,例如http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx 。我现在无法亲自测试它,但它应该可以工作......

关于sharepoint - 将凭据传递给 Word Interop 以在 SharePoint 中打开文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5175395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com