以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何更新WORD整个目录及页码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129395)

--  作者:witkeylaw
--  发布时间:2018/12/27 17:33:00
--  如何更新WORD整个目录及页码
以下代码不能更新目录,请问如何改进。
以下内容为程序代码:

1 Dim app As New MSWord.Application
2 try
3 Dim doc3 As Object = app.Documents.Open(fndoc)
4
5 \'方法1\'
6 app.ActiveWindow.Selection.WholeStory
7 app.ActiveWindow.Selection.Fields.Update
8 app.ActiveWindow.Selection.Fields.Update
9
10 \'方法2\'
11 \'Dim aStory As app.Range
12 \'\' Dim aField As app.Field
13 \'For Each aStory In ActiveDocument.StoryRanges
14 \'\' For Each aField In aStory.Fields
15 \'\' aField.Update
16 \'\' Next aField
17 \'Next aStory
18
19 \'方法3\'
20 \'app.ActiveDocument.Content.Select
21 \'app.ActiveDocument.Content.Fields.Update
22
23
24 app.Visible = False
25 Doc3.close
26 app.Documents.Save
27
28 catch ex As exception
29 msgbox(ex.message)
30 app.Quit
31 finally
32 \' app.quit
33 End try
34 app.quit


要app.ActiveWindow.Selection.Fields.Update两次才能更新页码索引,
但是不能更新整个目录。

--  作者:有点甜
--  发布时间:2018/12/27 17:55:00
--  

1、word文件发出来,执行的全部代码发出来;

 

2、说明在word里面怎么手动操作得到你需要的结果。


--  作者:witkeylaw
--  发布时间:2018/12/27 21:15:00
--  
相当于打开WORD文档,
CTRL+A,全选
F9,刷新
整个目录刷新。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181227211412.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/12/27 21:36:00
--  

 

word文件发出来,可以执行的代码发出来

 

 


--  作者:witkeylaw
--  发布时间:2018/12/27 22:22:00
--  
宏代码

 

以下内容为程序代码:

1 Sub 宏6()
2 \'
3 \' 宏6 宏
4 \'
5 \'
6 Selection.WholeStory
7 Selection.Fields.Update
8 Selection.Fields.Update
9 End Sub
10
11


文件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.rar



需要更新页码索引及目录


--  作者:有点甜
--  发布时间:2018/12/27 22:34:00
--  

没看懂你的意思,我测试没问题啊。要如何测试才算达到效果?

 

Dim app As New MSWord.Application
try
    Dim doc3 As Object = app.Documents.Open("d:\\test.docm")
   
    \'方法1\'
    app.ActiveWindow.Selection.WholeStory
    app.ActiveWindow.Selection.Fields.Update
    \'app.ActiveWindow.Selection.Fields.Update
   
    app.Visible = True
       
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
    \' app.quit
End try


--  作者:witkeylaw
--  发布时间:2018/12/29 17:48:00
--  
谢谢,看看是否系统有问题。