首页 > 其他分享 >转载:PageOffice在线打开office文件通过js调用vba可实现的功能

转载:PageOffice在线打开office文件通过js调用vba可实现的功能

时间:2023-07-26 10:12:57浏览次数:47  
标签:PageOfficeCtrl1 vba document office js Application getElementById var Document

pageoffice封装的js接口有限,某些比较复杂的设置用到的客户不多,所以没有提供直接的js方法,但是pageoffice提供了Document属性和RunMacro方法,可以调vba或直接运行宏指令实现比较小众的一些需求

 

 

 Word相关功能

1、给word表格中的单元格赋值

document.getElementById("PageOfficeCtrl1").Document.Tables(1).Cell(1, 1).Range.Text = "插入文本"

2、弹出word另存为所有格式的对话框

document.getElementById("PageOfficeCtrl1").Document.Application.Dialogs(84).Show();

3、给word文件光标处插入文本(两种方法)

  1. //插入的文本处于光标选中状态
  2. document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Text="测试测试";
  3. //光标在行尾
  4. document.getElementById("PageOfficeCtrl1").Document.Application.Selection.TypeText("测试测试");

4、给word中选中的文本设置颜色(2是WdColorIndex常量,表示设置的颜色)

document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Font.ColorIndex = "2";

5、光标定位到行尾

document.getElementById("PageOfficeCtrl1").Document.Application.Selection.EndKey();

6、 光标定位到word文件结尾(6是 WdUnits参数,表示光标移动的位置)

document.getElementById("PageOfficeCtrl1").Document.Application.Selection.EndKey(6);

7、插入换行符

document.getElementById("PageOfficeCtrl1").Document.Application.Selection.TypeParagraph();

8、拒绝文档中所有的修订(必须在docAdmin模式下使用)

document.getElementById("PageOfficeCtrl1").Document.RejectAllRevisions();

9、显示导航栏窗口

document.getElementById("PageOfficeCtrl1").Document.Application.ActiveWindow.DocumentMap = true;

10、隐藏word中的修订格式(删除、添加内容这些不隐藏。改变字体样式或者大小这种格式会被隐藏)

document.getElementById("PageOfficeCtrl1").Document.Application.ActiveWindow.View.ShowFormatChanges = false;

11、遍历删除当前word文档中所有的键盘批注

  1. function deleteAllComments(){
  2. var docObj = document.getElementById("PageOfficeCtrl1").Document;
  3. for(var i=docObj .Comments.Count; i>=1; i--){
  4. docObj .Comments(i).Delete();
  5. }
  6. }

12、设置打开文件的页面的百分比为200%

document.getElementById("PageOfficeCtrl1").Document.Application.ActiveWindow.ActivePane.View.Zoom.Percentage = 200;

13、word中删除光标所在行

document.getElementById("PageOfficeCtrl1").Document.Application.Selection.TypeBackspace();

 14、根据用户名显示批注

  1. function Button3_onclick() {
  2. var name = "Tom";//用户名
  3. var docObj = document.getElementById("PageOfficeCtrl1").Document;
  4. for(var i=1;i<=docObj .Comments.Count;i++){
  5. var author = docObj.Comments.Item(i).Author;
  6. // alert(author);
  7. if(author != name){
  8. document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.Reviewers(author).Visible = false;
  9. }else {
  10. document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.Reviewers(author).Visible = true;
  11. }
  12. }
  13. }

Excel相关功能

1、excel插入批注(注意:此功能只有pageoffice专业版或者企业版才能支持)

  1. var sMac = 'Sub addCom() \r\n ' + 'ActiveSheet.Application.Sheets("Sheet1").Range("A1").AddComment ("批注信息") \r\n ' + 'End Sub';
  2. document.getElementById("PageOfficeCtrl1").RunMacro("addCom", sMac);

2、获取excel当前活动的sheet的名称

var sheetName=document.getElementById("PageOfficeCtrl1").Document.ActiveSheet.Name;

3、excel中光标选中某个单元格

document.getElementById("PageOfficeCtrl1").Document.Application.Sheets("Sheet1").Range("C1").Select();

4、给excel单元格赋值

document.getElementById("PageOfficeCtrl1").Document.Application.Sheets("Sheet1").Range("C1").Value = "测试";

转载:PageOffice在线打开office文件通过js调用vba可实现的功能

标签:PageOfficeCtrl1,vba,document,office,js,Application,getElementById,var,Document
From: https://www.cnblogs.com/lhl77/p/17581706.html

相关文章

  • Using PL/SQL Object Types for JSON
    #https://docs.oracle.com/en/database/oracle/oracle-database/12.2/adjsn/using-PLSQL-object-types-for-JSON.html#GUID-F0561593-D0B9-44EA-9C8C-ACB6AA9474EEDECLAREjeJSON_ELEMENT_T;joJSON_OBJECT_T;BEGINje:=JSON_ELEMENT_T.parse('{"name......
  • 30 天精通 RxJS (02):Functional Programming 基本观念
    FunctionalProgramming是Rx最重要的观念之一,基本上只要学会FP要上手Rx就不难了!FunctionalProgramming可以说是近年来的显学,各种新的函式编程语言推出之外,其他旧有的语言也都在新版中加强对FP的支持!什么是FunctionalProgramming?FunctionalProgramming是一种编程......
  • [爬虫]2.2.2 使用PhantomJS处理JavaScript
    PhantomJS是一个无头(headless)浏览器,它可以解析和执行JavaScript,非常适合用于爬取动态网页。"无头"意味着它可以在没有用户界面的情况下运行,这对于服务器环境和自动化任务非常有用。安装PhantomJS首先,你需要下载并安装PhantomJS。你可以从官方网站下载↗适合你的操作系统的版本......
  • xpath丶BeautifulSoup丶pyquery丶jsonpath 解析html与json串
    XPath与jsonpath1importjson2fromlxmlimportetree3fromjsonpathimportjsonpath45defjson_test():6str1='{"name":"埃里克森"}'7#将字符串转为Pythondict对象8js_obj=json.loads(str1)9print(typ......
  • js将时间段自定义间隔分为时间段、将时间秒转为时-分-秒格式
    实现场景:8:00-12:00上课,每节课45分钟,课间10分钟,获取上课时间段结果://调用方法获取时间区间总方法入口gettimearr(gettimesecond(“8:00:00”),gettimesecond("12:00:00"),45*60,10*60);/***将时间转为秒*@param{any}date传入时间格式(字符串):8:00:00......
  • web前端tips:js继承——原型链继承
    原型链继承原型链继承是JavaScript中实现继承的一种方式,它通过使用原型来实现对象之间的继承关系。在JavaScript中,每个对象都有一个原型(prototype),它是一个指向另一个对象的引用。当我们访问一个对象的属性时,如果该对象自身没有该属性,则会去它的原型上查找,如果原型上也没有,则......
  • var js_usergroup_name python
    如何实现“varjs_usergroup_namepython”作为一名经验丰富的开发者,我很乐意教会刚入行的小白如何实现“varjs_usergroup_namepython”。在这篇文章中,我将为你展示整个实现过程,并提供每个步骤所需的代码和相应的注释。让我们开始吧!实现流程为了更好地理解整个实现过程,我将使......
  • vba-常用代码记录
    一些代码优化:1.Range("B5:C6").CopyDestination:=Range("B8")2.使用mid$函数而不是mid3.把整个sheet保护,需要操作时,后台先关闭保护。4.Excel中自带的Sum函数是将整个区域转换为数组,在内存中进行求和,速度快多了。DimresultAsDoubleresult=Application.Worksh......
  • JS中的浏览器对象模型-DOM(一)
    document对象中,document元素的选取、修改、添加、删除是常见的应用。元素的选取下面一段HTML代码,我们可以非常方便地选取指定的元素。例如:<!--HTML结构--><divid="test-div"><divclass="c-red"><pid="test-p">JavaScript</p>......
  • json 包 转字符串为dict json.loads(data_str)
    importjson##假设有一个JSON对象#data={#"name":"John",#"age":30,#"city":"NewYork"#}###将JSON对象转换为字符串#json_str=json.dumps(data)##print(json_str)#str转json类型是字典data_......