我需要在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中部署时,它给了我这个错误
有人可以给我一些信息或任何帮助来解决这个问题! 提前谢谢
抱歉我的英语不好!答案 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。