• 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;
            }
    

      

  • 相关阅读:
    meta 标签禁止缩放失效
    [UE4]打包EXE
    [UE4]Set Array Elem
    [UML]用例图
    [UE4]函数参数引用
    阻止移动鼠标双击页面放大, no double tap
    spring boot入门 -- 介绍和第一个例子
    SpringBoot 启动错误搜集
    spring boot 启动找不到或无法加载主类
    Spring Boot中Starter是什么
  • 原文地址:https://www.cnblogs.com/wuhailong/p/5332311.html
Copyright © 2020-2023  润新知