原文: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起来的内容,正在查找解决办法。。。

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

  1. VSTO 向office文档中插入内容

    原文:VSTO 向office文档中插入内容 Word: Word.Selection sec = ThisAddIn.appWord.Selection;            sec.Insert ...

  2. python、java、ruby、node等如何提取office文档中的内容?

    我相信大家都有过这样的需求,把doc.ppt.excel.pdf.txt中的文本内容提取出来.提取出来的文本内容可用于文档内容的全文索引,文档的基本内容摘要等.在度娘上搜索“如何提取文档内容”,确实有 ...

  3. 在线文档转换API word,excel,ppt等在线文件转pdf、png

    在线文档转换API提供word,excel,ppt等在线文件转pdf.png等,文档:https://www.juhe.cn/docs/api/id/259 接口地址:http://v.juhe.cn ...

  4. 怎么给我的Office文档加密

    很多的用户朋友都可以熟练的使用office中的Word.Excel和PowerPoint文档,但大家对Office文档加密方式了解的并不多.Advanced Office Password Recov ...

  5. Office文档在线编辑的实现之二

    讲述了如何通过iis的webdav支持实现客户端的office直接编辑服务器上的文件,本篇将讲解如何实现客户端的office直接编辑数据库中的二进制形式保存的office文件. 实现的关键:模拟IIS ...

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

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

  7. 在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览

    条件: 安装好禅道的服务器 能直接浏览PDF的浏览器(或通过 安装插件实现 ) 文档转换服务程序(建议部署在另一台服务器上)     实现 原理: 修改禅道的文件预览功能(OFFICE文档其使用的是下 ...

  8. 把office文档转换为html过程中的一些坑

    之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便. 另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比 ...

  9. 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...

随机推荐

  1. Spring通过工厂创建实例的注意事项

    假设第三方(or别的team)提供一个工厂类(此类是不能够改动的.往往以jar包形式提供的),须要供给我们项目来使用. 可是我们自己的项目使用了spring来配置,所以我们当然希望可以通过spring ...

  2. MSSQL - 存储过程事物

    效果: 创建带有事物的存储过程: use sales --指定数据库 create table bb --创建bb 这个表 ( ID int not null primary key ,--账号 Mo ...

  3. jdbcType与javaType的对应关系

    java.sql.Types 值 Java 类型 IBM DB2 Oracle Sybase SQL Informix IBM Content Manager BIGINT java.lang.lon ...

  4. 基于visual Studio2013解决面试题之0503取最大数字字符串

     题目

  5. Not able to reset SmartRF04DD

    今天在使用使用CC2540的时候,想下载个程序到CC2540底板上,结果出现Not able to reset SmartRF04DD的错误.如下图 经过一番摸索,最终是按下CCDEBUG上的rese ...

  6. 单链表的插入删除操作(c++实现)

    下列代码实现的是单链表的按序插入.链表元素的删除.链表的输出 // mylink.h 代码 #ifndef MYLINK_H #define MYLINK_H #include<iostream ...

  7. 解决删除Volume报错的问题

    很久没有遇到过删除Volume出错使得Volume处于Error_Deleting状态的情况了,昨天删除一个Volume时又出现了这个问题,这里顺便把解决方法记录一下. 注意我这里针对的是后端采用is ...

  8. sofa-pbrpc 1.1.1 发布,RPC 网络通信库

    https://www.oschina.net/news/77372/sofa-pbrpc-1-1-1 https://www.oschina.net/p/sofa-pbrpc

  9. mojo 默认启用utf-8

    [root@dr-mysql01 ~]# cat f1.pl use Encode; print "验证111\n"; my $d=encode_utf8('验证'); print ...

  10. clearcase 中一些概念和操作

    clearcase 中一些概念和操作 视图 常用命令 ClearCase 安装和使用的一些FAQ 参考 ClearCase具体的说是做配置管理的工具,只是SCM管理工具其中的一种.是RATIONAL公 ...