`

word更新目录域宏命令

    博客分类:
  • word
阅读更多

===============文档打开时执行=========================

Sub AutoOpen()
  Dim aStory As Range
  Dim aField As Field
     For Each aStory In ActiveDocument.StoryRanges
        For Each aField In aStory.Fields
           aField.Update
        Next aField
     Next aStory


End Sub

 

==============文档另存============================
Sub saveAsFile()
   Dim filePath As String

   Dim fileName As String

   Dim transFileName As String

   filePath = Application.ActiveDocument.Path

   transFileName = filePath+"\"+Left(ThisDocument.Name,Len(ThisDocument.Name)-4)+"docx"

   Application.DisplayAlerts=False

   ChDir filePath

           ActiveDocument.SaveAs2 fileName:=transFileName,FileFormat:= _

           wdFormatXMLDocument,LockCommnets:=False,Password:="",AddToRecentFiles _

           :=True, WritePassword:="",ReadOnlyRecommended:=False,EmbedTrueTypeFonts  _

          :=False,SaveNativePictureFormat:=False,SaveFormsData:=False, _ SaveAsAOCELetter _

          :=False,CompatibilityMode:=14
End Sub

===================java 调用vbscript==========================

public synchronized void handleVBS(String vbsPath,String wordPath){
          File vbsFile = new File(vbsPath);
          if(vbsFile.exists()){
                  vbsFile.delete();
          }
          try{
                vbsFile.createNewFile();
                Map<Integer,String> map = new HashMap<Integer,String>();
                map.put(0,"Set objWord = CreateObject(\"Word.Application\")");
                map.put(1," objWord.Visible = false");
                map.put(2,"Set objDocument = objWord.Documents.Open(\""
                                    +wordPath+"\")");
               map.put(3," objWord.ActiveDocument.Save");
               map.put(4," objWord.Application.Quit");
               map.put(5,"Set objWord = Nothing");
               String[] vbs = new String[6];
               for(int i =0;i<vbs.length;i++){
                    vbs[i]=map.get(i);
               }

               writeLine(vbsPath,vbs);
               String commond = null;
               String osName = System.getProperties.getProperty("os.name");
               if(os.startsWith("win") || os.startsWith("Win")){
                       commond = new String[]{"wscript",vbsPath};
               }else{
                        //linux WORD Document handle Application
               }
               Process process = Runtime.getRuntime().exec(commond);
               int val = process.waitFor();
               process.destroy();
               
          }catch(Exception exception){
                //
          }
}
private void writLine(String vbsPath,String[] vbs){
     OutPutStream fileWriter =null;
      try{
          fileWriter = new BufferedOutputStream(new FileOutputSream(vbsPath,true));
          for(int i =0;i <vbs.length;i++){
              fileWriter.write(vbs[i].getBytes("GBK"));
              fileWriter.write("\r\n".getBytes("GBK"));
          }
     }catch(Exception e){
           
     }finally{
          fileWriter.close();
     }
}

 

 

 

 

分享到:
评论

相关推荐

    word文档中自动更新域公式的宏代码

    在Word中,域是一段特殊的代码,它以大括号 `{}` 括起,并包含了特定的命令和参数,用于插入或更新文档中的信息。例如,`{PAGE}` 域会显示当前页面的页码。当文档内容发生变化时,大多数域会自动更新,但有些域,...

    WORD 2003域应用完全手册

    - 当文档被更新或打印时,域会根据其命令和参数自动计算或更新内容。 2. **域的应用场景** - **日期与时间**:`{DATE}`域可以自动插入当前日期,而`{TIME}`则插入当前时间,这两者都支持格式化选项。 - **页码**...

    查看Word中定义的域内容

    - 自动更新目录:`\TOC` 域用于创建目录,通过调整域参数可以设置目录的样式和深度。 - 引用和脚注:`\footnote{内容}` 创建脚注,`\noterefs` 用于引用脚注。 7. **学习和交流:** - 学习Word域的知识有助于...

    Word域应用完全手册[最完整的域教程]

    Word域是Microsoft Word中的一个强大功能,它允许用户通过插入预定义的代码(即域代码)来自动化文档的创建、更新和格式化。以下是对这一主题的深入探讨: 1. **什么是Word域**: - Word域是嵌入在文档中的特殊...

    WORD中的域

    当你在文档中插入一个域并更新它时,Word会根据该域的命令来生成或修改内容。 2. **域的结构**: 域通常由三部分组成:域名、开关和域代码。例如,`\Page` 是域名,`\Section` 是开关,`{\Page}` 或 `{\Section}` ...

    Word 域教程,更方便的实现Latex标称的功能

    - **更新目录**:当文档内容发生变化后更新目录。 - **删除目录**:移除目录。 **3.5 编制索引** - **标记索引项**:标记文档中的关键词作为索引项。 - **提取标记索引**:从文档中提取标记的索引项。 - **更改...

    word2007域的应用

    域在Word中扮演着重要的角色,尤其是在处理大型文档时,能够帮助用户高效地管理和更新文档中的各种数据。 每个域都有一个独特的名字,这个名字用于标识该域的功能。域的工作原理类似于Excel中的函数,用户可以通过...

    wxh操作WORD的域及书签进行二次开发

    1. **自定义宏**:通过VBA编写宏,可以批量处理文档中的域,例如统一更新所有日期或时间,或者根据书签定位并替换特定内容。 2. **动态生成内容**:利用域,我们可以创建动态模板,例如自动填充的信函、报告或证书...

    Word 2003域应用完全手册

    例如,通过使用`TOC`域可以轻松创建和更新目录;通过`TC`域可以为文档的不同部分创建条目,方便后续创建目录时引用;使用`Ref`域可以方便地引用文档中的特定位置或书签。 #### 利用域代码实现个性化功能 本节介绍...

    Word域与数据库的结合编程.pdf

    Word域与数据库的结合编程是将动态数据引入到Word文档中的技术,这使得文档能够根据数据库中的信息自动更新。在教育领域,这种技术被广泛应用于批量生成报告、信函、证书等,尤其适用于需要个性化定制但又需要大量...

    批量修改WORD内容 文件夹word中文字批量替换

    5. **处理域代码**:增加了处理Word域代码的功能,使得用户可以在查找替换过程中操作到隐藏的域代码。 6. **自定义选项**:允许用户根据实际需求调整设置,比如选择是否显示域代码等。 #### 使用方法与步骤 1. **...

    Word 2007宝典 8/10

    完整清晰版 PDF ,有目录。共 220MB,分为 10 个分卷 Word 2007 宝典 OFFICE2007 OFFICE2010 word2007宝典 原价:88.00元 ...附录A Word 2007中的Word 2003菜单命令指南  附录B Word 2007默认键分配方案

    Word 2007宝典 10/10

    完整清晰版 PDF ,有目录。共 220MB,分为 10 个分卷 Word 2007 宝典 OFFICE2007 OFFICE2010 word2007宝典 原价:88.00元 ...附录A Word 2007中的Word 2003菜单命令指南  附录B Word 2007默认键分配方案

    Word 2007宝典 9/10

    完整清晰版 PDF ,有目录。共 220MB,分为 10 个分卷 Word 2007 宝典 OFFICE2007 OFFICE2010 word2007宝典 原价:88.00元 ...附录A Word 2007中的Word 2003菜单命令指南  附录B Word 2007默认键分配方案

    Word 2007宝典 7/10

    完整清晰版 PDF ,有目录。共 220MB,分为 10 个分卷 Word 2007 宝典 OFFICE2007 OFFICE2010 word2007宝典 原价:88.00元 ...附录A Word 2007中的Word 2003菜单命令指南  附录B Word 2007默认键分配方案

Global site tag (gtag.js) - Google Analytics