2010-04-09 34 views
11

Tôi đang làm việc trên một dự án web, nơi khách hàng cần có chức năng để tải lên một số tài liệu MS Word & trước đó.Mở Microsoft Word trong chế độ "so sánh tài liệu" từ dấu nhắc lệnh

Ý tưởng tôi đưa ra trước tiên là làm cho các tài liệu có sẵn bằng cách sử dụng WEBDAV & sau đó mở cả hai tài liệu bằng cách sử dụng dòng lệnh có tùy chọn "So sánh cạnh nhau". Bằng cách này, anh ta có thể so sánh & sửa đổi hai tài liệu.

Vấn đề là, tôi không thể tìm thấy bất kỳ lệnh nào có thể chạy từ dấu nhắc lệnh để mở hai tài liệu ở chế độ so sánh.

Ngoài ra, nếu bạn biết cách nào khác để đạt được chức năng này, vui lòng chia sẻ nó với tôi.

Trả lời

1

Tôi đã xem danh sách command line switches và tôi không thấy bất kỳ điều gì có liên quan.

Bạn có thể tạo ứng dụng bảng điều khiển trong .net mở Word, tải trong 2 tài liệu và chuyển Word sang chế độ xem tài liệu so sánh. Thay vì khởi chạy Word trực tiếp từ dòng lệnh, bạn khởi chạy ứng dụng của mình.

+0

Có, có vẻ là một cách nhưng làm cách nào tôi có thể tự động chuyển từ trong chế độ so sánh? – araaku

+1

Sử dụng chức năng này: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.windows.comparesidebysidewith.aspx – ZippyV

4

Đây có thể là một cách tiếp cận (cho Visual Studio 2010)

tôi pha trộn với nhau hai liên kết sau

http://social.msdn.microsoft.com/Forums/en-US/b7f4b480-ca1c-49a1-a2ea-b1d1cf5ad56b/how-do-you-compare-two-word-documents-in-c

http://msdn.microsoft.com/en-us/library/vstudio/ee342218%28v=vs.100%29.aspx

đến một điều khiển dự án C# mà tôi thêm vào thêm Tài liệu tham khảo: .NET -> Microsoft.Office.Interop.Word Phiên bản 14.0.0.0

đây nguồn:

Program.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml.Linq; 
using Word = Microsoft.Office.Interop.Word; 
//using Office = Microsoft.Office.Core; 
//using Microsoft.Office.Tools.Word; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Word.Application wordApp = new Word.Application(); 
      wordApp.Visible = false; 
      object wordTrue = (object)true; 
      object wordFalse = (object)false; 
      object fileToOpen = @"C:\Temp\1.docx"; 
      object missing = Type.Missing; 
      Word.Document doc1 = wordApp.Documents.Open(ref fileToOpen, 
        ref missing, ref wordFalse, ref wordFalse, ref missing, 
        ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref wordTrue, ref missing, 
        ref missing, ref missing, ref missing); 

      object fileToOpen1 = @"C:\Temp\2.docx"; 
      Word.Document doc2 = wordApp.Documents.Open(ref fileToOpen1, 
        ref missing, ref wordFalse, ref wordFalse, ref missing, 
        ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing); 

      Word.Document doc = wordApp.CompareDocuments(doc1, doc2, Word.WdCompareDestination.wdCompareDestinationNew, Word.WdGranularity.wdGranularityWordLevel, 
       true, true, true, true, true, true, true, true, true, true, "", true); 

      doc1.Close(ref missing,ref missing,ref missing); 
      doc2.Close(ref missing,ref missing,ref missing); 
      wordApp.Visible = true; 
     } 

    } 
} 

TODO:

  • Thay 1.docx và 2.docx với chuỗi từ dòng lệnh
  • có thể một số ngoại lệ xử lý
+0

Đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn! – Anssssss

Các vấn đề liên quan