如何删除word文档中的符号

时间:2011-05-26 07:30:37

标签: c# ms-word

我正在使用word api(c#2.0应用程序)将word文档转换为纯文本文件。对于某些文档,由于word文档中可用的符号而导致挂起的过程。我想以编程方式删除word文档中的那些符号,或者如何将word文档保存为包含符号而不挂起的纯文本文件。

请帮我解决问题

这是示例代码

private void TextFileConvertion(string strsource, string strtarget)
        {
            // Use for the parameter whose type are not known or  
            // say Missing
            object Unknown = Type.Missing;

            //Creating the instance of Word Application
            Word.Application newApp = new Word.Application();
            newApp.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
            newApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;

            Word.Document doc = null;
            try
            {
                lblProgress.Text = "Converting " + strsource + " into Text file is under process.";
                Application.DoEvents();
                // specifying the Source & Target file names
                object Source = strsource;
                object Target = strtarget;
                object objTrue = true;
                object objFalse = false;
                // Source document open here
                // Additional Parameters are not known so that are  
                // set as a missing type

                try
                {
                    newApp.Visible = false;

                    doc = newApp.Documents.Open(ref Source,
                         ref Unknown, ref Unknown, ref Unknown,
                         ref Unknown, ref Unknown, ref Unknown,
                         ref Unknown, ref Unknown, ref Unknown,
                         ref Unknown, ref Unknown, ref Unknown,
                         ref Unknown, ref Unknown, ref Unknown);
                }
                catch (Exception exp)
                {
                    ZoniacLogger.Error("Exception : " + exp.Message + " Stack Trace : " + exp.StackTrace);
                }

                if (doc.ReadOnlyRecommended == true)
                    return;
                // Specifying the format in which you want the output file 
                object format = Word.WdSaveFormat.wdFormatText;

                //Changing the format of the document
                newApp.ActiveDocument.SaveAs(ref Target, ref format,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown, ref Unknown,
                        ref Unknown, ref Unknown);

                //if (doc.ReadOnlyRecommended == true)
                //    SetuncheckReadonly(doc, strsource);
                //intTxtCounter = intTxtCounter + 1;
                strTxtCounter = "OK";
            }
            catch (Exception ex)
            {
                strTxtCounter = "FAILED";
                ZoniacLogger.Error("<TextFileConvertion> Exception : " + ex.Message + " Stack Trace : " + ex.StackTrace);
            }
            finally
            {
                if (newApp != null)
                {
                    // for closing the application
                    newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
                    newApp = null;
                }
            }
        }

1 个答案:

答案 0 :(得分:0)

如果将单词保存为纯文本,那么您需要做的就是使用DocumentClass的SaveAs方法,这可能是最快速,最简单的方法吗?

Document.SaveAs on MSDN

您只需将适当的输出格式设置为第二个参数即可。 Save formats