在Windows Server 2012中处理Word文档

时间:2014-05-27 07:49:41

标签: c# asp.net ms-word

我需要在docx文件上进行搜索和替换,我使用了这个项目:Simple DocX Editor in Native C#

第一次它不起作用,因为我有操作系统窗口8所以我做了一些修改:

Shell shell = new Shell();
Folder archive = GetShell32NameSpace(archiveFile);//shell.NameSpace(Path.GetFullPath(archiveFile));
Folder extractFolder = GetShell32NameSpace(unArchiveFolder);//shell.NameSpace(Path.GetFullPath(unArchiveFolder));


public static Shell32.Folder GetShell32NameSpace(Object folder)
{
     Type shellAppType = Type.GetTypeFromProgID("Shell.Application");
     Object shell = Activator.CreateInstance(shellAppType);
     return (Shell32.Folder)shellAppType.InvokeMember("NameSpace", System.Reflection.BindingFlags.InvokeMethod, null, shell, new object[] { folder });
}

现在它对我很有用,但是当我在Windows Server 2012中部署时,它给了我这个错误

enter image description here

有人可以给我一些信息或任何帮助来解决这个问题! 提前谢谢

抱歉我的英语不好!

1 个答案:

答案 0 :(得分:0)

您的问题似乎与reference a windows shell interface using .net 4.0

相同的问题有关
Type shellAppType = Type.GetTypeFromProgID("Shell.Application");
dynamic shell = Activator.CreateInstance(shellAppType);

Microsoft提供了一个名为Office Open XML的SDK,可用于操作.docx和其他MS Office格式。它不需要在服务器上安装Office。