zoukankan      html  css  js  c++  java
  • word 书签排序算法

    直接上代码

         /// <summary>
            /// 通过计算插入引文的位置格式化合适的引文序号
            /// </summary>
            /// <returns></returns>
            public static int FormatBookMarkNoByPosition(Microsoft.Office.Interop.Word.Application WordApp)
            {
                try
                {
                    int _nStart = WordApp.Selection.Start;
                    int _nEnd = WordApp.Selection.End;
                    if (_nStart != _nEnd)
                    {
                        return -99999;
                    }
                    ArrayList _listMarks = new ArrayList();
                    foreach (Word.Bookmark item in WordApp.ActiveDocument.Bookmarks)
                    {
                        if (item.Name.StartsWith("BIMT"))
                        {
                            _listMarks.Add(item);
                        }
                    }
                    Word.Bookmark _markTemp = null;
                    for (int i = 0; i < _listMarks.Count; i++)
                    {
                        for (int j = i; j < _listMarks.Count; j++)
                        {
                            int _nStartA = ((Word.Bookmark)_listMarks[i]).Start;
                            int _nStartB = ((Word.Bookmark)_listMarks[j]).Start;
                            if (_nStartA > _nStartB)
                            {
                                _markTemp = ((Word.Bookmark)_listMarks[i]);
                                _listMarks[i] = _listMarks[j];
                                _listMarks[j] = _markTemp;
                            }
                        }
                    }
                    int _nIndex = 1;
                    foreach (Word.Bookmark item in _listMarks)
                    {
                        string _strIndex = string.Format("[{0}]", _nIndex);
                        string _strNmae = item.Name;
                        Word.Range _rangeTemp = WordApp.ActiveDocument.Range(item.Start, item.End);
                        _rangeTemp.Text = _strIndex;
    
                        //item.Range.Text = _strIndex;
                        Word.Bookmark mark = WordApp.ActiveDocument.Bookmarks.Add(_strNmae, _rangeTemp);
                        _nIndex++;
                    }
                    object o = WordApp.ActiveDocument.Bookmarks;
                }
                catch (Exception ex)
                {
    
                    throw;
                }
                return 0;
            }
    

      

  • 相关阅读:
    webpack详解
    扩展运算符及其在vuex的辅助函数里的应用详解
    react组件间传值详解
    类的构造函数(3)
    类构造函数(4)
    new delete
    类的构造函数(1)
    类的构造函数(2)
    类的继承(1)
    静态成员数据与函数
  • 原文地址:https://www.cnblogs.com/wuhailong/p/5332311.html
Copyright © 2011-2022 走看看