`
妮子321
  • 浏览: 82173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VBA实现为Excel中自定义名称的单元格添加批注

阅读更多

一.本地office中通过创建宏实现此需求

1.打开一个Excel文件,在需要插入批注的单元格右击-定义名称(myTable1).点击菜单栏-视图-宏-查看宏-输入宏名-创建宏

        ​

2.进入VBA编辑界面,将以下代码拷贝-保存-关闭VBA界面

  1.  
    Sub addComment()
  2.  
     
  3.  
        ActiveSheet.Application.Sheets("Sheet1").Range("myTable1").Select
  4.  
     
  5.  
        ActiveCell.AddComment ("Hello")
  6.  
     
  7.  
        ActiveCell.Comment.Visible = True
  8.  
     
  9.  
    End Sub;

  ​

3.点击菜单栏-视图-宏-查看宏-点击刚才插入的宏名-执行

   结果如下

    ​

但是对于OA系统来说,很多业务都是需要用户在网页上直接操作的,如果让用户在客户端本地office操作完成再将文件上传至服务器,总会显得我们的系统做的不够智能。

那么需求来了:如何才能实现让用户傻瓜式操作在线打开office文档,并且让程序在打开文档之前做一些事(比如在某一区域设置值,为某一个单元格赋值,设置字体段落格式,添加批注)呢。当你毫无思路时那就证明这个需求用到了你没有涉及过的技术点,这个时候就需要找一些插件来实现了。

我当时发现了一款插件叫做pageoffice很轻松的解决了此需求。当时将他集成到我的系统中跑起来只用了半天的时间。并且后来测试发现他对服务器要求并不苛刻,支持Windows、Linux等主流服务器系统。并且在客户端支持火狐、谷歌、IE、360等主流浏览器。在他们官网http://www.zhuozhengsoft.com/index.html下载程序包后会提供免费的注册码(听说永久正式版也不过两三千,但是我没购买正式版他们官方的技术支持也一直对我提供支持并且没有不耐烦哈哈哈哈)。接下来我为大家展示一下我实现的新建批注的效果。

二、集成pageoffice在线打开文档实现为Excel中自定义名称的单元格添加批注

1.下载官网程序包,根据部署指引将pageoffice集成到自己项目中(具体流程不再赘述,官方指引很详细,实在不行可以去官网联系他们技术支持)

   下载地址
      http://www.zhuozhengsoft.com/dowm/
   部署步骤
      http://www.zhuozhengsoft.com/PageOffice/guide/

2.在需要打开文档的链接处通过pobrowser打开文档所在页面

<br><a href="javascript:POBrowser.openWindowModeless('excelcomment/excel.jsp','width=1200px;height=800px;')" style=" color:#0108f6; text-decoration:underline;">excelComment</a>

注意:这里的<head></head>中需要引入pageoffice官方提供的两个js文件

  1.  
    <script type="text/javascript" src="jquery.min.js"></script>
  2.  
     
  3.  
    <script type="text/javascript" src="pageoffice.js" id="po_js_main"></script>

3.excel.jsp中代码如下

  1.  
    <%@ page import="com.zhuozhengsoft.pageoffice.PageOfficeCtrl" %>
  2.  
     
  3.  
    <%@ page import="com.zhuozhengsoft.pageoffice.OpenModeType" %>
  4.  
     
  5.  
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  6.  
     
  7.  
    <%
  8.  
     
  9.  
        PageOfficeCtrl poctrl = new PageOfficeCtrl(request);
  10.  
     
  11.  
        poctrl.setServerPage(request.getContextPath()+"/poserver.zz");
  12.  
     
  13.  
        poctrl.setJsFunction_AfterDocumentOpened("afterOpen()");
  14.  
     
  15.  
        poctrl.webOpen("doc/test.xls",OpenModeType.xlsNormalEdit,"zs");
  16.  
     
  17.  
    %>
  18.  
     
  19.  
    <html>
  20.  
     
  21.  
    <head>
  22.  
     
  23.  
        <title>Title</title>
  24.  
     
  25.  
        <script type="text/javascript">
  26.  
     
  27.  
            function afterOpen() {
  28.  
     
  29.  
     
  30.  
     
  31.  
                var sMac = 'Sub addCom() \r\n '
  32.  
     
  33.  
                    + 'ActiveSheet.Application.Sheets("Sheet1").Range("myTable1").Select \r\n '
  34.  
     
  35.  
                    + 'ActiveCell.AddComment ("Hello")\r\n'
  36.  
     
  37.  
                    + 'ActiveCell.Comment.Visible = True\r\n'
  38.  
     
  39.  
                    + 'End Sub';
  40.  
     
  41.  
                document.getElementById("PageOfficeCtrl1").RunMacro("addCom", sMac);
  42.  
     
  43.  
     
  44.  
     
  45.  
            }
  46.  
     
  47.  
        </script>
  48.  
     
  49.  
    </head>
  50.  
     
  51.  
    <body>
  52.  
     
  53.  
    <%=poctrl.getHtmlCode("PageOfficeCtrl1")%>
  54.  
     
  55.  
    </body>
  56.  
     
  57.  
    </html>

这样就会通过poctrl.webopen方法打开doc/test.xls文档,并且为文档中名为myTable1的单元格插入批注"hello"

4.实现效果

    

三.除Java之外,pageoffice也对ASP.NET和PHP提供支持,相关程序员同学可以自行去官网了解,再此不再赘述.

 

如果此篇文章有侵权行为或存在错误之处请联系小编,定在第一时间改正

 

分享到:
评论

相关推荐

    基于java网上球鞋竞拍系统设计与实现.docx

    基于java网上球鞋竞拍系统设计与实现.docx

    基于bert实现关系三元组抽取python源码+数据集+项目说明.zip

    基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。

    基于java的足球赛会管理系统设计与实现.docx

    基于java的足球赛会管理系统设计与实现.docx

    基于java的婚纱摄影网的设计与实现.docx

    基于java的婚纱摄影网的设计与实现.docx

    基于安卓的美颜相机,可以通过opencv加滤镜,并调整亮度和对比度,可以磨皮,但并不能瘦脸,磨皮时非常卡顿,暂无解决方法.zip

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    基于java的农产品仓库管理系统系统设计与实现.docx

    基于java的农产品仓库管理系统系统设计与实现.docx

    基于Java swing +mysql(Oracle)实现的飞机订票系统项目(含毕业论文+答辩 ppt+双数据库版本源码+图)

    【作品名称】:基于Java swing +mysql(Oracle)实现的飞机订票系统项目(含毕业论文+答辩 ppt+双数据库版本源码) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 系统功能需求 本系统用于远程机票预订,包括远程航班信息查询、机票预订与确认等;主要分为四大功能:查询、订票、退票和管理。 管理员登录、注销 到系统并进行插入、删除、更新以及查看机票后台数据库操作 插入:机票的插入可以按照航班号、班期、公司、座位号、起飞地以及抵达地等等插入数据库。 删除:机票可以按照航班号、起止城市、星期进行删除 3.1.1客户端系统功能 1.普通用户: 查询:根据航班号、航空公司以及目的地查询出票类信息 订票: 根据出发日期和第一航班号预订机票,机票类型分为单 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。

    2018信基广场“红动佛山”春节新媒体营销方案.pptx

    2018信基广场“红动佛山”春节新媒体营销方案.pptx

    #_ssm_100_mysql_基于智慧医疗预约挂号管理系统_.zip

    均包含代码,文章,部分项目包含ppt

    基于java的蜀都天香酒楼的网站设计与实现.docx

    基于java的蜀都天香酒楼的网站设计与实现.docx

    java基于ssm+vue 医院疫情防控管理系统源码 带毕业论文+ppt+sql

    1、开发环境:SSM框架;内含Mysql数据库;VUE技术;内含说明文档 2、项目代码都经过严格调试,代码没有任何bug! 3、该资源包括项目的全部源码,下载可以直接使用! 4、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 5、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。

    基于java的英语单词学习网站设计与实现.docx

    基于java的英语单词学习网站设计与实现.docx

    基于java企业销售人员培训系统设计与实现.docx

    基于java企业销售人员培训系统设计与实现.docx

    2019优益C x 易烊千玺微博营销案结案报告.pptx

    2019优益C x 易烊千玺微博营销案结案报告.pptx

    基于java的单位人事管理系统设计与实现.docx

    基于java的单位人事管理系统设计与实现.docx

    java-ssm+vue图书管理系统实现源码(项目源码-说明文档)

    该网站采用SSM框架和Eclipse编辑器、MySQL数据库设计并实现的。网站功能包含系统用户管理、图书管理、用户管理、借书管理、续借管理、违章缴款管理等模块。 首页是网站的入口,主要包含了:新闻信息、图书信息等导航功能。 用户有独立的注册界面,用户填写好注册信息后,会有个一审核的过程,经过管理员审核注册成功,并将注册的信息加入用户表中。 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7+ 后端技术:ssm 前端技术:Vue 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog

    我的网页设计部署.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    信息系统项目管理师考试集锦.zip

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    【单变量输入多步预测】基于TCN-GRU-Attention的风电功率预测研究附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    docker安装部署gorse

    docker安装部署gorse

Global site tag (gtag.js) - Google Analytics