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

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可实现的功能
posted @ 2023-07-26 10:01  爱吃苹果皮  阅读(62)  评论(0编辑  收藏  举报