数学建模社区-数学中国
标题:
如何利用VBA记录哪些用户曾打开某excel文档?
[打印本页]
作者:
数学者
时间:
2010-3-5 11:55
标题:
如何利用VBA记录哪些用户曾打开某excel文档?
利用VB或VBA记录(获取)哪些用户曾经打开过某excel文档,如:ip为172.36.254.22的用户在2010-03-02曾打开过“D:\book1.xls”,现在要记录以下三个信息:
+ M6 j# `7 }# g: x. ^5 Q
172.36.254.22 ;
0 B& G6 m- s4 z' D$ [
2010-03-02 ;
, Q$ q- X% f2 _; [
D:\book1.xls。
8 n: {3 w R- P; D; O9 f8 ?
请问该如何来实现呢?请各位高手帮忙解决一下
! G" n: ~0 ]( P9 z+ K5 v
谢谢~~
作者:
kensington
时间:
2010-3-8 12:44
这个问题我没处理过,但是有种方法可以解决,到图书馆把VB所有的书都找出来,一本一本的翻,有几本比较厚的书很管用,书名忘了,好像是叫什么明日科技编的
作者:
数学者
时间:
2010-3-10 21:04
搞定它了,呵呵~
, d+ ~5 H9 |) c) ~
代码也弄出来,在Excel的VB编辑器里执行
% Q2 d3 t3 h/ d6 P) X
制作环境为office2003
# H, }9 s0 K- E$ {. \
Public Sub getIpAndPcnameAndUsername()
r7 \) `: S0 s, F
5 M2 H8 G, @4 r( j/ e" u0 k/ c, F
Dim myIp, pcName, userName As String
5 o5 x, L% K( i+ m; F
Dim objWMIService, IPConfigSet, sysInfm As Object
! B: |! |9 p+ p5 [
( G% l R# p4 n* j5 V0 ^
Set objWMIService = GetObject("winmgmts:")
* V" s" ?, \ |
Set IPConfigSet = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
1 [. r% ^/ ?0 M2 L2 Z. H9 O# A
Set sysInfm = CreateObject("WScript.Network")
& ^: a; I& a% O# f0 @
/ t8 a/ h/ ` a+ r+ n: L9 n
pcName = sysInfm.computername '获取本机计算机名
; I; W C$ A0 i" \# }0 _1 K$ o+ y
userName = sysInfm.userName '获取本机已登录的用户名
9 D8 N; M9 `4 A- h( p
1 F: U$ W7 `! g L% p- m; `* d* D
'获取本机ip地址
9 f$ o& i1 _! b4 \7 n$ t
For Each ipconfig In IPConfigSet
- F: j: }' z# Y4 `3 ~ L8 \' P
, d" y$ \7 i9 N9 F. m/ }. l
If Not IsNull(ipconfig.IPAddress) Then
; K$ E% q6 ^, R- x5 ?: J
myIp = Join(ipconfig.IPAddress)
# u! A8 \) _' _! V9 ~
End If
( _; D* K8 T5 W8 s, U; g! d
3 Y) I" g8 m& V5 W3 F/ E4 q) n: G
If myIp <> "0.0.0.0" Then
+ L8 s+ w9 u9 C& F) Y
MsgBox "IP Address: " & myI
) w* Z. o- o: x- }! `) z5 z; T
End If
( ?" R z: d7 k4 d
+ s* n, V! c# p3 q
Next
6 t/ a, [" a$ d0 ] E
End Sub
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5