首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将凭据传递给Word Interop以在SharePoint中打开文档

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

Stack Overflow用户
提问于 2011-03-03 08:55:48
回答 2查看 3K关注 0票数 3

使用WPF应用程序(C# 4.0)。

系统在SharePoint中存储了许多Word文档。Word可以直接编辑这些文档,因为SharePoint通过WebDAV向Office公开文档库。

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

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

这一切都很好用:

代码语言:javascript
运行
复制
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的东西呢?

EN

Stack Overflow用户

发布于 2011-03-04 03:33:43

您是否尝试执行被模拟为您拥有其用户名和密码的用户的代码?在网络上有很多这样做的例子,比如http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx。我现在不能亲自测试它,但它应该可以工作...

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5175395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档