使用Visual Studio 2010 Express将.doc文件保存/转换为.html
使用Visual Studio 2010 Express将.doc文件保存/转换为.html
我有一个存放着word文档的文件夹,我想将它们转换成html以便进一步处理。我只拥有Visual Studio 2010 Express版,使用这个版本能实现吗?我找到了转换的例子,但它们需要Microsoft.Office.Tools.Word库,而这个库并不随Express版附带。
编辑:我找到它了,它实际上在名为Microsoft Word 12.0 Object Library的COM对象中,该对象位于Microsoft.Office.Interop.Word命名空间中。
admin 更改状态以发布 2023年5月20日
您应该能够使用 Express 版本完成它。我改编了这个问题的答案。改编后的代码如下。您需要添加对 Microsoft.Office.Interop.Word 的引用才能使其正常工作。如果您缺少此库,请参阅此 MSDN 文章。
查看WdSaveFormat,您还可以将其保存为格式过滤的 HTML(wdFormatFilteredHTML)。
namespace Sample { using Microsoft.Office.Interop.Word; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; class Program { public static void Main() { Convert("C:\\Documents", WdSaveFormat.wdFormatHTML); } private static void Convert(string path, WdSaveFormat format) { DirectoryInfo dirInfo = new DirectoryInfo(path); FileInfo[] wordFiles = dirInfo.GetFiles("*.doc"); if (wordFiles.Length == 0) { return; } object oMissing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application(); try { word.Visible = false; word.ScreenUpdating = false; foreach (FileInfo wordFile in wordFiles) { Object filename = (Object)wordFile.FullName; Document doc = word.Documents.Open(ref filename, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); try { doc.Activate(); object outputFileName = wordFile.FullName.Replace(".doc", ".html"); object fileFormat = format; doc.SaveAs(ref outputFileName, ref fileFormat, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); } finally { object saveChanges = WdSaveOptions.wdDoNotSaveChanges; ((_Document)doc).Close(ref saveChanges, ref oMissing, ref oMissing); doc = null; } } } finally { ((_Application)word).Quit(ref oMissing, ref oMissing, ref oMissing); word = null; } } } }