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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用计算机桁架各杆内力,运用AUTO CAD求解桁架内力?

摘要&#xff1a; 一个平面汇交力系的平衡条件是其力多边形必须闭合,依其条件,利用图解法和计算机中的AUTO CAD绘图工具,迅速准确地求解一个结点上的两个未知力,并以其类推求解桁架各杆内力。特别在复杂的桁架内力计算中更显示其法优越性。关键词&#xff1a; CAD 桁架 内力一般…

python开发视频播放器_Python应用03 使用PyQT制作视频播放器实例

最近研究了Python的两个GUI包&#xff0c;Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下&#xff0c;我觉得PyQT使用起来更加方便&#xff0c;功能也相对丰富。这一篇用PyQT实现一个视频播放器&#xff0c;并借此来说明PyQT的基本用法。 视频播放器 先把已经完成…

js 正则中冒号代表什么_javascript中正则表达式语法详解

好久都没有写博客了&#xff0c;主要是太懒了&#xff0c;尤其是在阳春三月&#xff0c;风和日丽的日子&#xff0c;太阳暖暖的照在身上&#xff0c;真想美美的睡上一觉。就导致了这篇博客拖到现在才开始动笔&#xff0c;javascript的正则这一块也不是什么新的东西&#xff0c;…

一个关于数学归纳法的悖论问题-续

上篇文章讲到一个悖论,这里解开悖论的什么面纱 上篇文章地址http://www.cnblogs.com/zhouyf/p/4583351.html 「游客没有输入任何新的信息」这个断言是错的。N1的情形不必说了&#xff0c;显然输入了新信息。对于N>1的情形&#xff0c;要注意&#xff0c;游客必须是当着所有人…

封装出现 用户.计算机,ES4封装WIN7出现[Administrator.计算机名]目录的可能解决方案...

受https://www.itiankong.net/thread-36634-1-1.html这个贴子中的思路启发&#xff0c;算是彻底解决了[Administrator.计算机名]目录的问题&#xff0c;打算把整理的方法贴出来&#xff0c;遇到问题的朋友也帮忙试一下是否有效。先说原理&#xff1a;这个问题的出现基本上和ES无…

自动化测试工具selenium python_Selenium自动化测试工具使用方法汇总

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options Options() chrome_options.add_argument(- -headless) chrome_options.add_argument(- -disable-gpu) class XX(object): self.driver webdriv…

数据库查找姓李的人_最通俗易懂的理解什么是数据库

1.什么是数据库呢&#xff1f;每个人家里都会有冰箱&#xff0c;冰箱是用来干什么的&#xff1f;冰箱是用来存放食物的地方。同样的&#xff0c;数据库是存放数据的地方。正是因为有了数据库后&#xff0c;我们可以直接查找数据。例如你每天使用余额宝查看自己的账户收益&#…

Android多媒体分析-通过MediaStore获取Audio信息

public void getAlldata() { ContentResolver cr getApplication().getContentResolver(); if (cr null) { return; } // 获取所有歌曲 Cursor cursor cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, …

怎么在anaconda上安装python_我是如何用Anaconda来管理Python的

Anaconda 是一个用于科学计算的 Python 发行版&#xff0c;支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。 Anaconda主要特点: 开源各个库之间的依赖性列出所需其他依赖包。多种开源库conda是包及其依赖项和环境的管理工具适用语言&#xff1a;P…

rdd分片 spark_Spark分区

一、分区的概念分区是RDD内部并行计算的一个计算单元&#xff0c;RDD的数据集在逻辑上被划分为多个分片&#xff0c;每一个分片称为分区&#xff0c;分区的格式决定了并行计算的粒度&#xff0c;而每个分区的数值计算都是在一个任务中进行的&#xff0c;因此任务的个数&#xf…

html5 防止脚本攻击,shell防ddos攻击脚本(二)

在上一篇shell防ddos攻击脚本(一)中,我给大家发了个脚本,那只是针对单机的,如果是在负载均衡下的话,很容易把自己的服务器ip给误封,所以这篇文章就给大家发个可以添加白名单的shell脚本.系统:centos 5.9 64位脚本内容:vi ip-dos-cc.sh#!/bin/bashnetstat -an| grep :80 |grep -…

python中配置opencv_在Windows中安装OpenCV-Python|四

目标 在本教程中&#xff0c;我们将学习在你的Windows系统中设置OpenCV-Python。 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7-64位计算机上进行了测试。屏幕截图展示的是VS2012。 从预编译的二进制文件安装OpenCV 下面的Python软件包将被下载并安装到…

uip UDPclient模式通信移植,当地port随机

现在移植UDPclient模式,测试广播地址. //udp_client.c /************************************************************************************************************** 文件名称: udp_client.c* 功能: uIP UDP客户端相关函数* 作者: cp1300139.com* 创建时间: 20…

react如何遍历并比较_[前端进阶] 这可能是最通俗易懂的React 渲染原理及性能优化...

如今的前端&#xff0c;框架横行&#xff0c;出去面试问到框架是常有的事。我比较常用React&#xff0c; 这里就写了一篇 React 基础原理的内容&#xff0c; 面试基本上也就问这些&#xff0c; 分享给大家。React 是什么React是一个专注于构建用户界面的 Javascript Library.一…

运用计算机计算包含排斥原理,离散数学包含及排斥原理.ppt

离散数学包含及排斥原理第三章 集合与关系 * 一、有限集的计数 一个集合若其组成集合的元素个数是有限的&#xff0c;则称作有限集。 设A1、A2为素个数分别记为|A1|&#xff0c;|A2| P96有限集记数有如下几个性质&#xff1a; a)|A1∪A2| ≤ |A1||A2| b)|A1∩A2| ≤min( |A1|,|…

基于git的工作流程

本文针对的是追求极致、快速的产品响应团队的。以下的观点和内容都是围绕这个主题&#xff0c;暂时不涉及个人学习和团队学习。 在说工作流程之间&#xff0c;想说一下我们平常工作中遇到的一些困惑或者说现象 在一个团队里&#xff0c;同时有好多事件要解决。有的是产品迭代&a…

c 自定义实现string类 clear_CC++语言15|类的继承和派生实现代码重用、扩充

在C中&#xff0c;继承是一个对象自动获取其父对象的所有属性和行为的过程。通过继承&#xff0c;您可以重用&#xff0c;扩展或修改在其他类中定义的属性和行为。通过继承&#xff0c;可以实现函数重写以及多态。在C中&#xff0c;继承另一个类的成员的类称为派生类&#xff0…

超几何分布_常见概率分布

离散分布退化分布 若r.v. 只取常数值c&#xff0c;即 ,这时分布函数为&#xff1a; 把这种分布称为退化分布或者单点分布。伯努利分布 在一次实验中&#xff0c;事件A出现的概率为 ,不出现的概率为 ,若用 记事件A出现的次数&#xff0c;则 仅取值0或1&#xff0c;相应的…

spring 4.0 JUnit简单的Dao,Service测试

1.AbstractTransactionalJUnit4SpringContextTests 和AbstractJUnit4SpringContextTests。我们在测试用例类要继承两种中的一个。 AbstractTransactionalJUnit4SpringContextTests提供了数据库自动回滚&#xff0c;也就是说测试前和测试后数据库是一样的 AbstractJUnit4SpringC…

云起智慧中心连接华为_【转发】华为智慧屏HiLink控制联动,操作指南来了!

本文转自华为智慧生活APP -> 智能 -> 酷玩页面华为智慧屏HiLink控制联动&#xff0c;操作指南来了&#xff01;一、基本控制通过华为智慧生活APP&#xff0c;您可以对已绑定华为账号的智慧屏进行基本控制&#xff0c;操作指南如下&#xff1a;① 在智慧屏上登录华为账号&…