数学建模社区-数学中国
标题:
如何利用VBA记录哪些用户曾打开某excel文档?
[打印本页]
作者:
数学者
时间:
2010-3-5 11:55
标题:
如何利用VBA记录哪些用户曾打开某excel文档?
利用VB或VBA记录(获取)哪些用户曾经打开过某excel文档,如:ip为172.36.254.22的用户在2010-03-02曾打开过“D:\book1.xls”,现在要记录以下三个信息:
# z8 Z2 d" S! l
172.36.254.22 ;
4 m' e' I9 Q2 D0 h, a
2010-03-02 ;
# M& `1 ~& _7 @
D:\book1.xls。
" t' I( [$ B9 p% o+ f7 T+ v$ _( q+ B# T
请问该如何来实现呢?请各位高手帮忙解决一下
' E" a3 \. n0 c
谢谢~~
作者:
kensington
时间:
2010-3-8 12:44
这个问题我没处理过,但是有种方法可以解决,到图书馆把VB所有的书都找出来,一本一本的翻,有几本比较厚的书很管用,书名忘了,好像是叫什么明日科技编的
作者:
数学者
时间:
2010-3-10 21:04
搞定它了,呵呵~
2 s( N5 y0 S# ^: m, U6 b
代码也弄出来,在Excel的VB编辑器里执行
9 h2 Q* P1 V* u& Z. t
制作环境为office2003
- X6 z$ a( q. v3 Y
Public Sub getIpAndPcnameAndUsername()
3 n4 T+ }: o M' S. z/ P6 p6 |; u9 A
+ B8 w! \' {3 V
Dim myIp, pcName, userName As String
, e; x/ E/ x1 `5 Z
Dim objWMIService, IPConfigSet, sysInfm As Object
- t! K; N1 b6 z$ @9 H. s/ N" c& G
3 A3 k- Q/ ]2 k
Set objWMIService = GetObject("winmgmts:")
v5 d9 v$ B, B ]
Set IPConfigSet = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
0 M, g* M6 _3 H* Q" M
Set sysInfm = CreateObject("WScript.Network")
! t3 {4 h5 t# c
. \' U* E' j2 ~0 Z4 V
pcName = sysInfm.computername '获取本机计算机名
* [ m6 K# L7 O* ?9 ?: `4 M
userName = sysInfm.userName '获取本机已登录的用户名
( j, n& C S2 Z: ~
7 z0 C& N2 Y4 m3 H* }# m
'获取本机ip地址
( O; B) }: @3 o% D
For Each ipconfig In IPConfigSet
/ C- a( K# f2 Y. W
5 T8 x6 l' J, f, }2 K0 D! d* o2 Y6 c
If Not IsNull(ipconfig.IPAddress) Then
' |1 b/ u3 y4 Q8 C
myIp = Join(ipconfig.IPAddress)
3 T9 o3 R# Q0 ~7 I* w" x `
End If
i3 v" C+ [7 v3 i* K2 Y
) |0 q% `- V. x7 n! S$ K2 U( x* A
If myIp <> "0.0.0.0" Then
. `6 Z; W9 ~$ a( ]8 D* m
MsgBox "IP Address: " & myI
. D8 R# F$ w3 i; ~/ B' c3 b. a4 m
End If
) o. N) {# `% s3 N: h9 S
5 q+ L- s. H6 \1 h
Next
3 \9 T6 d5 @$ \: P' {( k8 ]9 f3 x
End Sub
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5