将word转换成其它文件

本文介绍了一个实用的方法,通过C#代码实现将Word文档转换为多种格式(如MHT、HTML、RTF、XML)。该方法利用了Word应用程序的COM对象进行文档的打开、保存和关闭操作,提供了详细的代码示例及异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ContractedBlock.gifExpandedBlockStart.gifCode
 1ExpandedBlockStart.gifContractedBlock.gif    /**//// <summary>
 2    /// 将word文档转换为其它文档
 3    /// </summary>
 4    /// <param name="SourceFile">源文件</param>
 5    /// <param name="DestFile">目标文件</param>
 6    /// <param name="FormatType">转换的文件格式(webarchive:mht;html:html网页;rtf;xml)</param>
 7    /// <returns></returns>

 8    public  static   string WordToHtml(object SourceFile, object DestFile, string FormatType)
 9ExpandedBlockStart.gifContractedBlock.gif    {
10        Word.Application app = new Word.Application();     
11        //bool isAlert = app.DisplayAlerts;
12       // app.DisplayAlerts = false;
13        string sErr = "ok";
14        object oMissing = System.Reflection.Missing.Value;
15       
16        try
17ExpandedSubBlockStart.gifContractedSubBlock.gif        {
18            object objSaveFormat = Word.WdSaveFormat.wdFormatWebArchive; //单一网页格式   
19            switch (FormatType.ToLower())
20ExpandedSubBlockStart.gifContractedSubBlock.gif            {
21                case "webarchive":
22                    objSaveFormat = Word.WdSaveFormat.wdFormatWebArchive;
23                    break;
24                case "html":
25                    objSaveFormat = Word.WdSaveFormat.wdFormatHTML;
26                    break;
27                case "rtf":
28                    objSaveFormat = Word.WdSaveFormat.wdFormatRTF;
29                    break;
30                case "xml":
31                    objSaveFormat = Word.WdSaveFormat.wdFormatXML;
32                    break;
33
34            }

35            object objTrue = true;
36            object objFalse = false;
37            object objOpenFormat = Word.WdOpenFormat.wdOpenFormatDocument;
38            object objEncoding = null;
39            object objDirection = Word.WdDocumentDirection.wdLeftToRight;
40            Word.Document doc = app.Documents.Open(ref SourceFile, ref objFalse, ref objFalse
41               , ref objFalse, ref oMissing, ref oMissing, ref objTrue
42               , ref oMissing, ref oMissing, ref objOpenFormat, ref objEncoding, ref objTrue
43               , ref objFalse, ref objDirection, ref objFalse, ref oMissing);
44
45            doc.SaveAs(ref DestFile, ref objSaveFormat, ref objFalse, ref oMissing, ref objFalse, ref oMissing, ref objFalse,
46                             ref oMissing, ref objTrue, ref objFalse, ref objFalse, ref objEncoding, ref objFalse, ref objFalse,
47                             ref oMissing, ref oMissing);
48            object oSavaType = Word.WdSaveOptions.wdSaveChanges;
49            doc.Close(ref oSavaType, ref oMissing, ref oMissing);
50
51        }

52
53        catch (Exception ex)
54ExpandedSubBlockStart.gifContractedSubBlock.gif        {
55
56            sErr = "文件转换出错:" + ex.Message;
57
58        }

59
60        finally
61ExpandedSubBlockStart.gifContractedSubBlock.gif        {
62            object oSavaType = Word.WdSaveOptions.wdDoNotSaveChanges;
63            app.Quit(ref oSavaType, ref oMissing, ref oMissing);
64
65        }

66        return sErr;
67
68    }

转载于:https://www.cnblogs.com/goldnet/archive/2009/07/02/1515148.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值