ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4247|回复: 15

求助:如何统计WORD在一天内打开的次数?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-3-8 15:21 | 显示全部楼层 |阅读模式

求助:如何统计WORD在一天内打开的总次数?

请守柔斑竹及各位前辈赐教!

谢谢!

TA的精华主题

TA的得分主题

发表于 2007-3-8 17:36 | 显示全部楼层
QUOTE:
以下是引用crossbrow在2007-3-8 15:21:44的发言:

求助:如何统计WORD在一天内打开的总次数?

请守柔斑竹及各位前辈赐教!

谢谢!

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-3-8 17:35:26
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
0176^The Code CopyIn [ThisDocument-ThisDocument]^'
'*
-----------------------------

Sub AutoExec()
    Dim oPenCount As Integer, oVariable As Variable, TF As Boolean
    With ThisDocument
        For Each oVariable In .Variables
            If oVariable.Name = "myVariable" Then TF = True: Exit For
        Next
        If TF = False Then
            .Variables.Add Name:="myVariable", Value:=oPenCount
            .Variables.Add Name:="Today", Value:=VBA.Format(Now, "yyyy-M-D")
        End If
        If VBA.Format(Now, "yyyy-M-D") <> .Variables("Today") Then
            .Variables("myVariable").Value = 0
            .Variables("Today").Value = VBA.Format(Now, "yyyy-M-D")
        End If
        oPenCount = .Variables("myVariable").Value + 1
        .Variables("myVariable").Value = oPenCount
    End With
    MsgBox "Word
程序被今天打开了" & oPenCount & "
!", vbInformation
End Sub
'----------------------


注意:请将以上代码请粘贴于NORMAL.DOT的THISDOCUMENT代码窗口或者标准模块中。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-9 09:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感谢守柔斑竹的回答,赶紧去试试,呵呵[em17]

TA的精华主题

TA的得分主题

发表于 2007-3-9 12:11 | 显示全部楼层

TO:守柔版主

为什么MsgBox弹出的结果总是“Word程序被今天打开了2次”,就不再增加了?

[此贴子已经被作者于2007-3-9 12:22:21编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-9 12:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
守柔版主,我试后发现正如 tangcong 所说。[em06]

TA的精华主题

TA的得分主题

发表于 2007-3-9 16:47 | 显示全部楼层

又一次学到variables对象。刚才参照帮助文件反复学习,勉强看懂了老大的代码,发现在后面加上一个save语句可实现,只是不知其所以然,而且好像不会自动打开空白文档,实在太抽象了。

[此贴子已经被作者于2007-3-9 17:00:34编辑过]

TA的精华主题

TA的得分主题

发表于 2007-3-9 17:22 | 显示全部楼层
QUOTE:
以下是引用crossbrow在2007-3-9 12:42:09的发言:
守柔版主,我试后发现正如 tangcong 所说。[em06]

这是我的测试:

理论上说,代码应该没有问题。请告诉我你的测试方法和WORD版本,谢谢。

求助:如何统计WORD在一天内打开的次数?

求助:如何统计WORD在一天内打开的次数?

TA的精华主题

TA的得分主题

发表于 2007-3-9 17:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用sylun在2007-3-9 16:47:32的发言:

又一次学到variables对象。刚才参照帮助文件反复学习,勉强看懂了老大的代码,发现在后面加上一个save语句可实现,只是不知其所以然,而且好像不会自动打开空白文档,实在太抽象了。


TO sylun兄:

AUTOEXEC宏用于在每次运行WORD程序时自动触发,而非打开文档时,打开文档时,可以使用AutoOpen宏等。

WORD Normal.dot将在关闭时自动保存,无需加上SAVE命令。

有关自动宏,您可以参看拙著之P341之的讲解与实例,便于理解。

variables对象是应用于Document对象的一个对象,实际上你可以当成是一个储存内容的“字典”,它具有词条名和词条目吧,它随文档保存而保存。

TA的精华主题

TA的得分主题

发表于 2007-3-9 22:46 | 显示全部楼层

我用的两台电脑都是office2003 sp2(非正版),其中一台现象与前面两位说的相同,也是只统计到第2次就停下来了,加了save命令后就可继续统计下去,删除后又不行了。原是加在end with前,不能自动打开新文档,后加在msgbox后面就可以了。今晚试了另一台电脑却没有此现象,可以正常统计。本来两台电脑的word设置都差不多的,以前都用相同的用户设置文件,只是前面一台最近重装系统,下载2003sp2升级包升级,并根据原设置重新设置normal模板。如果不是设置问题,也许是下午的操作上有问题。一般理解,既然可以统计第2次就表示原程序起作用,应该可以统计下去的。

谢谢老大的指点。小弟目前正在学习VBA基础,想先多了解点VBE再说,否则操作起来都不顺手,希望能早点入门。

再补充一点,现在想来,下午操作时,在改动代码后(将save命令变为注释文字),如不在VBE中按保存即关闭word,再启动时发现代码修改无效,当然也没有提示保存。

[此贴子已经被作者于2007-3-9 22:59:45编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-9 22:50 | 显示全部楼层

守柔版主,单位里有以下两电脑,代码粘贴于NORMAL.DOT的THISDOCUMENT代码窗口:

WINDOWS2000+OFFICE2003就不行  ;

XP+OFFICE2003也不行;

不过,家中XP+OFFICE2003可以;真是奇怪。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 16:05 , Processed in 0.034177 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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