word 书签排序算法
2016-03-29 11:31
246 查看
直接上代码
/// <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; }
相关文章推荐
- 【Python】装饰器实现日志记录
- Sysprep命令详解
- Service 生命周期
- 海思3531的(HDMI和MIC)音频问题
- 借助DrawerLayout实现侧滑菜单
- <ubuntu ping响应慢 延迟严重解决方案>
- CUDA 函数前缀与存储器前缀讨论
- 简单粗暴 下拉菜单 dropdownMenu
- HashMap与HashTable的区别
- qt3d中shader内置变量
- C++异常抛出与捕获及处理
- 单链表算法设计举例
- 相关query挖掘
- Cloneable接口的使用
- SpringMVC 中获取所有的路由配置。
- 【个人笔记】有关正则匹配的几点小笔记
- jstl教程
- Eclipse安装颜色主题
- 是该记录一下了
- cdecl、stdcall、fastcall函数调用约定区别