VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)
原文:VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)

目的:得到在Word、Excel、PPT、Outlook中选中的一段内容。

Word:

private string GetSelectCont()
        {
            string w = "";
            Word.Selection sec = appWord.Selection;
            Word.Words wds = sec.Words;           
            w = wds.Application.Selection.Text;
            return w.Trim();
        }

Outlook:

private string GetSelectCont(Outlook.Inspector Inspector)
       {
            string w = "";

Word.Document document = Inspector.WordEditor;           
            w = document.Application.Selection.Words.Application.Selection.Text;           
            return w.Trim();
       }

注:无法得到标题等之类的选中内容。

PPT:

private string GetSelectCont()
        {
            string w = "";

PowerPoint.Selection sec = appPPT.ActiveWindow.Selection;
            string word = sec.TextRange.Text;
            return word.Trim();
        }

Excel:

private string GetSelectCont()
        {
            string w = "";
            object[,] result;
            object res1;
            string res2;
            Excel.Workbook wbook = Globals.ThisAddIn.Application.ActiveWorkbook;  //当前活动workbook
            Excel.Worksheet wsheet = (Excel.Worksheet)wbook.ActiveSheet;          //当前活动sheet 
            Excel.Range range = (Excel.Range)wsheet.Application.Selection;      //当前选中的cells

int count = range.Count;
            res1 = (object)range.Value2;
            //如果选中多个单元格
             if (count > 1)
             {
                 int row_count = range.Rows.Count;
                 int col_count = range.Columns.Count;
                 result = (object[,])res1;
                 for (int i = 1; i <= row_count; i++)
                 {
                     for (int j = 1; j <= col_count; j++)
                     {
                         if (result[i, j] != null)
                         {
                             w += (string)result[i, j] + " ";
                         }
                     }
                 }
             }
             else {
                 //如果选中单个
                 if (res1 == null)
                 {
                     w = "";
                 }
                 else {                   
                     res2 = res1.ToString();
                     w = res2;
                 }
             }
            return w.Trim();
        }

注:Excel比较复杂,这只能得到选中单个或多个单元格的内容,却不能得到某个单元格中mark起来的内容,正在查找解决办法。。。

posted on 2015-06-16 10:40 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4580136.html

VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)相关推荐

  1. office文档 在线预览 (doc、ppt、xls)

    office 在线预览  调用微软的api,将office文档转换为html,然后实现预览. 参考我们的实现方式:http://demo.kalcaddle.com/?user/loginSubmit ...

  2. linux在文档中查找内容,【Linux】用grep在文档中查找内容

    有时候,我们需要在文档中查找一些内容,常用grep.它在文档查找相关内容并输出匹配行. > 查找某关键字 在system.log中,查找包含keyword的行 grep 'keyword' sy ...

  3. python的hello word_Hello Word —— 使用Python读写Office文档之一

    本系列文章将介绍如何使用Python读写主要Microsoft Office文档(Word,Excel和PowerPoint) ==================================== ...

  4. 如何在线编辑Office文档

    Office文档是我们办公中最常用的文件格式之一,它可以通过Microsoft Office应用程序创建和编辑,但前提是需要先将Microsoft Office下载并安装到系统中.如果系统中没有或者无 ...

  5. 为您的Office文档加把锁-ADRMS的安装

    为您的Office文档加把锁-ADRMS的安装  如今不少企业越来越重视自己KM(知识管理系统)的建立对于KM的建立实施虽然可以有效地解决企业在知识管理上的问题对于一些具有商业利益关系的机密文件(例如 ...

  6. 用Ruby on Rails实现适应各种平台的在线Office文档预览

    前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有可能是iOS系统的iPad.一般来说,要预览的文档通常是主流的Offi ...

  7. 用 Ruby on Rails 实现适应各种平台的在线 Office 文档预览

    http://ruby-china.org/topics/17309 前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有 ...

  8. [转载]Office文档在线编辑的实现之二

    上篇文章 http://www.cnblogs.com/jianyi0115/archive/2007/03/16/677712.html 讲述了如何通过iis的webdav支持实现客户端的offic ...

  9. Office文档在线编辑的实现

    因为项目的关系,研究了一下Office的在线编辑功能,写出来共享一下. Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav ...

最新文章

  1. NO.80 禅道使用分享第九期:测试部门缺陷管理的新需求
  2. VS添加服务引用和 Web引用的区别
  3. NYOJ题目219-An problem about date
  4. 谷歌怎么找ajax请求,谷歌浏览器 - GET ajax请求失败
  5. 新媒体运营神器-迅捷旗下的这些媒体软件简直要逆天了!
  6. 微信小程序的布局css样式
  7. axios delete
  8. 企业电子招投标系统简介 招投标系统源码 定制化服务 二次开发 java招投标系统 招投标系统功能设计
  9. C++遍历文件夹下的所有文件
  10. 微信中html5获取手机号,微信小程序用户授权获取手机号(getPhoneNumber)
  11. Python凯撒密码解密
  12. 关于PLM/EVT/DVT/PVT/MP的解释
  13. 用Python爬取并分析Box Office Mojo网站2019年每日票房数据
  14. mysql动态网站_PHP+MySQL动态网站开发与全程实例
  15. 什么是CPC认证,现在亚马逊那边都需要提供CPC认证怎么办
  16. crux系列写作-通过SSH实现虚拟机下的crux 2.6与win7主机互传文件
  17. win7 磁盘碎片整理
  18. Windows10运行安卓模拟器蓝屏解决方法
  19. 【SIMCOM A7670C】Android8.1 4G Dongle 移植笔记
  20. Vuforia 系列讲解 – 02 环境搭建

热门文章

  1. 【python+selenium自动化】使用pytest+allure2完成自动化测试报告的输出
  2. Problem01 不死神兔
  3. STL浅析——序列式容器vector的数据结构
  4. 简单了解static
  5. 《Python核心编程》笔记 Python对象
  6. 蓝桥杯java能用编译器1吗_学java的你,这些英文单词都掌握了吗?
  7. 微信支付 商户Key 支付Key API密钥 的获取
  8. sign check fail: check Sign and Data Fail!-错误处理
  9. .net core linux安装
  10. 三维向量变化为角度_物体的三维识别与6D位姿估计:PPF系列论文介绍(四)