设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5832|回复: 3
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2012-9-21 21:56:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
打算将我的电脑所有打印过的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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2012-9-21 22:45:26 | 只看该作者
终于找到了,用Selection.Information(wdNumberOfPagesInDocument)

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

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

2、我是在NORMAL模版中插入的模块,这个应该是随WORD启动的吧?
3#
 楼主| 发表于 2012-9-22 00:16:16 | 只看该作者
roych 发表于 2012-9-21 23:25
应该是放在这里吧:
Private Sub Document_Open()
End Sub

很奇怪,我的word2010也不认Document_Open(),这个加到模块里,代码中写msgbox "OK",然后无论在启动新WORD还是老的文档,都没有任何提示。
4#
发表于 2012-9-21 23:25:31 | 只看该作者
应该是放在这里吧:
Private Sub Document_Open()
End Sub
打开文件后自运行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 16:04 , Processed in 0.088808 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表