使用 Visual Studio 2010 Express 将 .doc 保存/转换为 .html

2024-02-21

我有一个 Word 文档文件夹,我想将其转换为 html 以便进一步处理。我只有 Visual Studio 2010 Express 版本。可以使用 Express 版本吗?我找到了如何进行转换的示例,但它们需要 Microsoft.Office.Tools.Word 库,而 Express 不提供该库。

编辑:我找到了它,它实际上位于名为 Microsoft Word 12.0 对象库的 COM 对象中,即 Microsoft.Office.Interop.Word 命名空间。


您应该能够使用 Express 版本来完成此操作。我改编了一个答案这个问题 https://stackoverflow.com/questions/607669/how-do-i-convert-word-files-to-pdf-programmatically。改编后的代码如下。您需要添加对 Microsoft.Office.Interop.Word 的引用才能使其正常工作。如果你缺少这个库,请看看MSDN 上的这篇文章 http://msdn.microsoft.com/en-us/library/15s06t57(v=vs.100).aspx.

看着保存格式 http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.wdsaveformat.aspx您还可以将其另存为格式过滤 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;
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Visual Studio 2010 Express 将 .doc 保存/转换为 .html 的相关文章

随机推荐

  • 如何在servlet中获取客户端的远程地址?

    有什么办法可以获取到服务器的客户端的原始IP地址吗 我可以用request getRemoteAddr 但我似乎总是获得代理或网络服务器的IP 我想知道客户端用于连接到我的 IP 地址 无论如何 我能得到它吗 尝试这个 public sta
  • Visual Studio 2012 是否利用所有可用的 CPU 内核?

    我计划在 Visual Studio 2012 和 Windows 7 64 位下构建一台新的非常快的开发计算机 我正在购买所有快速组件 例如 SSD 和 16G RAM 我想知道是否视觉工作室2012旨在利用所有可用的 CPU 内核 我正
  • 每次出现错误时使用 prometheus 创建警报

    我是普罗米修斯和警报系统的新手 我开发了一个微服务并添加了指标代码 以便在出现错误时获取增量总数 现在我正在尝试创建一个警报 以便每当错误增加时 它应该标记出来并发送邮件 但我无法针对这种情况形成正确的查询 我使用了诸如 error tot
  • CoreMotion 陀螺仪苹果手表

    我正在尝试访问苹果手表的陀螺仪 据我所知 它可以在 watchos 3 中使用 不幸的是我无法让它工作 它不断返回 陀螺仪不可用 因此 MotionManager isGyroAvailable 始终为 false 这是我的代码 任何帮助
  • Kotlin 本地函数必须在使用前声明

    在这个简单的代码示例中 fun testLocalFunctions aLocalFun compiler error unresolved reference at aLocalFun fun aLocalFun aLocalFun no
  • 如何保持领域数据与输入的顺序相同

    我有一个应用程序 需要将数据按照输入的顺序保存 数据被输入到 List 属性中 一切都很顺利 直到我必须删除一个项目 当删除发生时 列表中的最后一项将取代被删除的一项 UITableView 显示正确的项目数 但与领域列表不同步 一个例子是
  • R中的顺序混淆矩阵

    我根据 3 个类别的观察结果及其预测创建了一个混淆矩阵 classes c Underweight Normal Overweight 当我计算混淆矩阵时 它会按字母顺序组织表中的类 这是我的代码 Confusion matrix Obse
  • 为什么此解释中没有使用密钥?

    我期望这个查询使用密钥 mysql gt DESCRIBE TABLE Foo Field Type Null Key Default Extra id bigint 20 NO PRI NULL auto increment name v
  • 如何正确编写 Swift UI Toggle 的 UI 测试

    有谁知道如何正确编写 Toggle 的 UI 测试 即使在一个全新的项目中 整个 UI 中只有一个切换而没有其他内容 我仍然会收到此类错误 Failed to get matching snapshot Multiple matching
  • OpenCV detectorMultiScale() 参数的推荐值

    推荐的参数是什么CascadeClassifier detectMultiScale http docs opencv org modules objdetect doc cascade classification html cascad
  • 如何在 Node.js 中将 JPG 图像转换为 WEBP 格式?

    我正在尝试使用react Js上传图像并使用multer中间件将该图像保存在node Js中 这是完美的 但现在我想使用 webp converter 将该图像转换为 WEBP 格式 反之亦然 但我收到此错误 Error Command f
  • JavaScript 数字到单词

    例如 我正在尝试将数字转换为英语单词1234会成为 一千二百三十四 我的策略是这样的 将数字分成三位并将它们放入数组 finlOutPut 从右到左 转换每个组 每个单元格中finlOutPut数组 的三个数字到一个单词 这就是triCon
  • 使用 PHP、活动目录以及 IE/Firefox 对 ldap 进行身份验证

    下面的代码根据 ldap 检查用户的凭据
  • Tensorflow 不会在 CUDA 支持下构建

    我已经尝试从源代码构建张量流 如安装指南 https www tensorflow org install install sources 我已经成功地使用仅 cpu 支持和 SIMD 指令集构建了它 但在尝试使用 CUDA 支持构建时遇到
  • 在 ARM/Thumb (IOS) 上解码 BLX 指令

    我已经阅读了大部分 ARM 文档 但在解码 BLX 指令时仍然遇到问题 下面是两个例子 text 0000347C 02 F0 B2 ED BLX objc msgSend text 0000469C 01 F0 A2 EC BLX obj
  • 允许机器人访问 Telegram Group 消息[重复]

    这个问题在这里已经有答案了 比之前更进了一步如何将机器人添加到 Telegram 群组 https stackoverflow com questions 37338101 如何以管理员身份将机器人添加到 Telegram 群组 我已将我的
  • “strcpy”和“strcpy_s”之间的区别?

    当我尝试使用时strcpy复制字符串给了我一个编译错误 error C4996 strcpy This function or variable may be unsafe Consider using strcpy s instead T
  • 将数组的元素向左旋转

    我正在尝试解决来自的 JavaScript 挑战杰希罗网 挑战是这样的 编写一个旋转函数来旋转数组的元素 全部 元素应向左移动一位 第 0 个元素 应该放在数组的末尾 旋转后的数组应该是 回 旋转 a b c 应该返回 b c a 我能想到
  • 使用 HDF5 进行大型数组存储(而不是平面二进制文件)是否具有分析速度或内存使用优势?

    我正在处理大型 3D 数组 我经常需要以各种方式对其进行切片以进行各种数据分析 典型的 立方体 可以约为 100GB 并且将来可能会变得更大 看来Python中大型数据集的典型推荐文件格式是使用HDF5 h5py或pytables 我的问题
  • 使用 Visual Studio 2010 Express 将 .doc 保存/转换为 .html

    我有一个 Word 文档文件夹 我想将其转换为 html 以便进一步处理 我只有 Visual Studio 2010 Express 版本 可以使用 Express 版本吗 我找到了如何进行转换的示例 但它们需要 Microsoft Of