我们的ASP.NET / C#允许用户编辑和管理托管在服务器上的Word(OpenXML)文档。我使用客户端VBScript
函数来处理一些编辑功能,包括将文档保存到服务器上的文件夹。对于保存功能,我使用以下函数调用:
Document.SaveAs "http://server/savefolder/savefile.docx"
我已将保存文件夹的“完全控制”权限授予NETWORK SERVICE
和IUSR_MACHINE
用户。然而上述呼叫失败了。返回的错误号为5096
。错误信息是一些没有任何意义的胡言乱语。
服务器是Windows 2003,IIS版本是6.0。我在服务器上安装了OpenXML SDK 2.0 CTP。
我可以成功阅读和打印文件。
有谁告诉我我做错了什么?或者需要进行哪些其他设置?
BTW,错误信息(我的帖子中的“乱码”)是:
“EOALPHABETICARABICARABICABJADARABICALPHABAHTTEXTCAPSCARDTEXTCHARFORMATCHI”
不,我不是这样做的!
答案 0 :(得分:2)
在我的情况下,该错误5096描述“EOALPHABETICARABICARABICABJADARABICALPHABAHTTEXTCAPSCARDTEXTCHARFORMATCHI” 在Access中使用VBA代码来驱动Word邮件合并时发生。原因是试图将具有相同名称(包括路径)的文档保存为打开文档。
错误行:
objApp.ActiveDocument.SaveAs saveAsName
其中objApp
是表示Word应用程序的对象变量,saveAsName
是存储我试图保存文件的名称的字符串变量,例如: "C:\temp\testdoc.docx"
。
如果存在具有相同名称但未打开的文件,则上述代码将以静默方式覆盖该文件。
答案 1 :(得分:1)
结果默认情况下,IIS 6.0中未启用WebDAV。一旦我打开它,我就能保存好文件了。
感谢您的所有答案!
答案 2 :(得分:0)
只是猜测...如果vbscript在客户端上运行,代码可能在用户的帐户下运行,而不是在服务器的IIS帐户下运行。因此,除非您为该用户提供写访问权限,否则vbscript可能无法正常工作。
由于您使用的是ASP.NET,因此您可以尝试编写一个Web服务,该服务接收Word文档数据并将其保存到服务器中。
答案 3 :(得分:0)
您在网站根目录之外使用的保存文件夹,即“隐藏”来自互联网吗?
答案 4 :(得分:0)
我尝试在客户端上运行Fiddler,同时尝试保存文档以了解实际情况。我想知道它是否正在尝试进行HTTP PUT(而不是POST)。
答案 5 :(得分:0)
您是否在IIS管理器中授予了对该文件夹的写入权限?
答案 6 :(得分:0)
只是添加SI的信息......
当我的代码尝试使用同名保存MS Word文档时,我也得到了 5096 - EOALPHABETICARABICARABICABJADARABICALPHABAHTTEXTCAPSCARDTEXTCHARFORMATCHI 错误与另一个Word实例中已打开的Word文档位于同一位置。
虽然与这个主题并不完全相关,但我希望它可以帮助那些偶然发现这个主题的人!
此致 杜安,
答案 7 :(得分:0)
Document.SaveAs "\\server\savefolder\savefile.docx"
Grtz