如何提取word文档中的hash值

如何通过vba获取到word文档中的hash值,怎么判断word文档是否更改过。

http://blog.csdn.net/superdont/article/details/9003361

http://wenku.baidu.com/link?url=YCnDLuBdo_1hbZ6W01iVss1Drp-8nm0MdxsHnONZBo0o-SiH2iPLCmASRa-wYI6w3mNlMTvQsftpi9Y69aLrH_nqdalRwrut13Th7VEfKWG

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using Microsoft.Office.Interop.Word;
using System.Windows.Forms;

using System.Security.Cryptography;

namespace INPTEC
{
    public partial class Ribbon1
    {
        private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
        {

        }

        private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
        {

            // table.Cell(2, 2).Merge(talbe.Cell(2, 3));
           // Globals.ThisAddIn.Application.ActiveDocument.Range(0, 10).Font.Size = 45;
         //  object replace="li";
        //    System.Windows.Forms.MessageBox.Show("li");
         //   WApp.Selection.Font.StrikeThrough = 0;//删除线
          //  Globals.ThisAddIn.Application.Selection.Font.StrikeThrough = 1;
          //  Globals.ThisAddIn.Application.Caption = "li";
           string outText=Globals.ThisAddIn.Application.ActiveDocument.Content.Text;

           byte[] tmpSource;
           byte[] tmpHash;
           tmpSource = ASCIIEncoding.ASCII.GetBytes(outText);
           tmpHash = new MD5CryptoServiceProvider().ComputeHash(tmpSource);

           System.Windows.Forms.MessageBox.Show(ByteArrayToString(tmpHash));
      //  System.Windows.Forms.MessageBox.Show(tmpHash);
        }
        static string ByteArrayToString(byte[] arrInput)
        {
            int i;
            StringBuilder sOutput = new StringBuilder(arrInput.Length);
            for (i = 0; i < arrInput.Length - 1; i++)
            {
                sOutput.Append(arrInput[i].ToString("X2"));
            }
            return sOutput.ToString();
        }
    }

}