【问题标题】:Word automation use DefaultLegalBlackline to open two documents to compare documentsWord 自动化使用 DefaultLegalBlackline 打开两个文档来比较文档
【发布时间】:2016-02-03 08:34:14
【问题描述】:

我尝试通过代码打开两个文档,让用户可以看到它们以比较版本(合法黑线)- 文档的编辑将在可见文档中完成。

这是我的代码片段:

objectoMissing = System.Reflection.Missing.Value;

//Start Word and create a new document.
Microsoft.Office.Interop.Word._Application oWord;
Microsoft.Office.Interop.Word._Document oDoc;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);

oWord.DefaultLegalBlackline.....

【问题讨论】:

    标签: c# .net ms-word automation office-interop


    【解决方案1】:

    请参阅下面的课程作为示例解决方案:

        using WordR = Microsoft.Office.Interop.Word;
        namespace WordTest
        {
            class TestComparison
            {
                private void openWordForComparison(object filenameMaster, object filenameModified)
                {
                    WordR.Application app = null;
                    WordR.Document docMaster = null;
                    WordR.Document docModified = null;
                    WordR.Document docComparison = null;
                    object missing = System.Reflection.Missing.Value;
                    //create a readonly variable of object type and assign it to false.
                    object readonlyobj = false;
    
    
                    //create a word application object for processing the word file.
                    app = new WordR.Application();
    
                    // Open frist document
                    docMaster = app.Documents.Open(
                    ref filenameMaster, ref missing, ref readonlyobj, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    
                    // Open second document
                    docModified = app.Documents.Open(
                    ref filenameModified, ref missing, ref readonlyobj, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    
                    // open a new document for comparison of documents
                    docComparison = app.CompareDocuments(docMaster, docModified);
    
                    // close first and second document to display comparison only
                    docMaster.Close(ref missing, ref missing, ref missing);
                    docModified.Close(ref missing, ref missing, ref missing);
    
                    app.Visible = true;
    
                }
            }
        }
    

    【讨论】:

      【解决方案2】:

      我找到了解决办法:

      oDoc1 = oWord.Documents.Open(@"Word1.docx", oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
      
      oDoc2 = oWord.Documents.Open(@"Word2.docx", oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
      
      oDoc = oWord.CompareDocuments(oDoc1, oDoc2, Microsoft.Office.Interop.Word.WdCompareDestination.wdCompareDestinationOriginal, Microsoft.Office.Interop.Word.WdGranularity.wdGranularityCharLevel, true, false, true, true, false, false, false, false, false, false, "", false);
      
      oDoc2.Close(oMissing,oMissing,oMissing);
      

      是否有解决方案,无需先打开两个文档,然后关闭没有打开的第二个文档,因为它不需要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-10
        • 1970-01-01
        • 1970-01-01
        • 2021-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多