Office中国论坛/Access中国论坛

标题: [求助]word的vba里哪个属性是页数和首行标题 [打印本页]

作者: 软件下载    时间: 2012-9-21 21:56
标题: [求助]word的vba里哪个属性是页数和首行标题
打算将我的电脑所有打印过的word文档全部记录到一个记事本中,下面这段代码能记录我打印的时间、文档名。
现在想把这个文档的页数、首行标题也记录下来,请问加什么代码?

另外,有些标题很长,可能会切换第二行并居中(正常的标题后,下面正文第一行不居中),我打算加个判断,如果第二行居中,则标题就是第一行+第二行(不会超过第三行),如果不居中,标题就是第一行,这个可能有点难度,word的VBA我第一次接触,网上搜到的一些东西条理不是很清楚,特来求助。

Dialogs(wdDialogFilePrint).Show
DName = ActiveDocument.Path + "\" + ActiveDocument.Name
If ActiveDocument.Path = "" Then DName = "未保存文档"
Tim = Str(Date) + "日" + Str(Time)
Open "a:\print.txt" For Append As #1
Print #1, "于" + Tim + " 打印" + DName
Close #1
作者: 软件下载    时间: 2012-9-21 22:45
终于找到了,用Selection.Information(wdNumberOfPagesInDocument)

现在问题是:这段代码写到normal.dotx的模块中,相当于新建了一个Fileprint的宏,可每次打印都没用,必须要先运行这个宏才行,该怎样设置打开word后默认就运行了?

1、我是word2010,已经在信任中心里启用所有的宏,并已经勾上了信任VBA工程对象模型的访问。

2、我是在NORMAL模版中插入的模块,这个应该是随WORD启动的吧?

作者: roych    时间: 2012-9-21 23:25
应该是放在这里吧:
Private Sub Document_Open()
End Sub
打开文件后自运行。
作者: 软件下载    时间: 2012-9-22 00:16
roych 发表于 2012-9-21 23:25
应该是放在这里吧:
Private Sub Document_Open()
End Sub

很奇怪,我的word2010也不认Document_Open(),这个加到模块里,代码中写msgbox "OK",然后无论在启动新WORD还是老的文档,都没有任何提示。





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3