如何增强VBA方法?

时间:2011-03-08 17:51:40

标签: .net vba com ms-word

我正在尝试通过HTTP从远程服务器打开Word文档。 Documents.Open方法支持这个很好,因为我可以将URL作为文件名传递给它,并从远程服务器加载它。

但是,为了获取文件,我需要将凭据POST到URL,然后按照响应的位置字段来获取文件。在将内容传递给Word打开之前,我如何将Documents对象子类化或重载以执行此步骤?

忘记提及 - 这使用基于cookie的身份验证,因此我需要在各种HTTP会话之间保留经过身份验证的cookie。

编辑#2:或者,

如果我得到一个完整的基于MSXML2.XMLHTTP的子程序,它将POST验证,从响应中解析出set-cookie和location头,并使用它们从服务器获取文档内容,有什么办法吗?我可以将内存中的文档作为文件打开而不是将文件系统转发到文件系统吗?通过阅读文档,Open()只支持文件名(或路径)。

有一种.NET方法可以使用IO.System.MemoryMappedFile,我相信,但是有没有办法将它暴露给COM所以我可以将字节流转储到一个函数中,得到一个文件句柄,然后传递给它to .Open()来处理?

1 个答案:

答案 0 :(得分:0)

您可以使用XMLHTTP执行帖子,然后解析路径的响应。据我所知,你不能覆盖像.Open()

这样的内置方法

http://www.15seconds.com/issue/991125.htm

在该页面中间有一个VBA中的POST示例