获取word总页数,超链信息

3 篇文章 0 订阅
/// <summary>
 
        /// </summary>
        /// <param name="Sel"></param>
        private static void Openplate(Selection Sel)
        {
            try
            {
                //章节片段总数
                //Sel.Application.DisplayAlerts = WdAlertLevel.wdAlertsNone;
                var acDoc = Sel.Application.ActiveDocument;
                var path = acDoc.Path;
                var Paragraphs = acDoc.Paragraphs;
                var links = acDoc.Hyperlinks;
                //获取word总页数
                int pages = Sel.get_Information(WdInformation.wdNumberOfPagesInDocument);
                if (links.Count == 0)
                {
                    return;
                }
                var frontPath = links[1].Address;
                var list = new List<string>();
                foreach (Paragraph pa in Paragraphs)
                {
                    list.Add(pa.Range.Text.Replace("\r", ""));
                }

                //点击所在行 
                int row = Sel.get_Information(WdInformation.wdFirstCharacterLineNumber);
                //点击所在页,每页的段落数量不一样,计算索引取名称
                int page = Sel.get_Information(WdInformation.wdActiveEndAdjustedPageNumber);
                //获取指定word页中超链数量


                //文件名称 
                var fileName = path + "\\" + frontPath.Split('/')[0] + "\\" + list[row - 1].Replace("【", "").Replace("】", "") + ".docx";
                if (File.Exists(fileName))
                {
                    new WordOperate(Sel.Application).OpenDocument(fileName, Const.Password);
                }
                //Sel.Application.DisplayAlerts = WdAlertLevel.wdAlertsAll;
                //MessageBox.Show(string.Format("内容:{0},行{1},页{2},文件{3}", Sel.Text, row, page, fileName));
            }
            catch (Exception ex)
            {
                
            }
        }
private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {   
         
            app = Globals.ThisAddIn.Application;
            app.WindowSelectionChange += WindowSelectionChangeEventHandler;
}

 

 

 private static void Opelate(Selection Sel)
        {
            try
            {
                var acDoc = Sel.Application.ActiveDocument;
                
                var path = acDoc.Path;
                var links = acDoc.Hyperlinks;
                //获取word总页数
                int pages = Sel.get_Information(WdInformation.wdNumberOfPagesInDocument);
                if (links.Count == 0)
                {
                    return;
                }
                var frontPath = string.Empty;
//简化代码
                foreach (Hyperlink hl in Sel.Hyperlinks)
                {
                    frontPath = hl.Address;
                }
                var fileName = path + "\\" + frontPath;
                if (File.Exists(fileName))
                {
                    new WordOperate(Sel.Application).OpenDocument(fileName, Const.Password);
                }
            }
            catch (Exception ex)
            {
               }
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值