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();
     }
}

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Word是一种可以自定义功能和自动化任务的工具。在Word文档中,是一种可以包含有关文档中内容的信息的特殊元素。可以用于自动更新文档中的信息,如页面数、日期和引用等。 通过使用,我们可以编写代码来自动更新文档中的。首先,我们可以使用VBA(Visual Basic for Applications)编程语言来创建。在创建和编辑时,我们可以使用Word提供的对象和方法。例如,我们可以使用Selection对象来选择文档中的,然后使用Fields集合来访问和操作所选的属性。 对于要自动更新,我们可以使用Update方法来强制更新它们的内容。更新可以是全局的,也可以是仅限于所选的局部更新。通过在中添加代码来选择要更新,并使用Update方法来更新它们,我们可以实现自动更新的效果。 除了使用来自动更新Word还提供了一些其他的自动更新功能,如自动更新日期和引用。在文档中插入这些后,它们将根据当前日期和相关引用的更改自动更新。这样,无论何时打开文档,中的信息都将自动更新为最新的内容。 总而言之,通过使用Word对象,我们可以轻松地实现自动更新的功能。无论是全局更新还是局部更新,我们都可以编写代码来选择要更新,并使用Update方法来更新它们的内容。这样,我们可以确保文档中的始终保持最新和准确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值