数学建模社区-数学中国

标题: 如何利用VBA记录哪些用户曾打开某excel文档? [打印本页]

作者: 数学者    时间: 2010-3-5 11:55
标题: 如何利用VBA记录哪些用户曾打开某excel文档?
利用VB或VBA记录(获取)哪些用户曾经打开过某excel文档,如:ip为172.36.254.22的用户在2010-03-02曾打开过“D:\book1.xls”,现在要记录以下三个信息:3 g- `$ E  ]  ?) h% c& B
      172.36.254.22 ;
9 i8 V- h5 z1 Q' \) u      2010-03-02 ;
: z0 a( G! Q3 [4 _5 H! k      D:\book1.xls。, ~# _1 w( G4 L5 x( I1 }! G7 t
请问该如何来实现呢?请各位高手帮忙解决一下
. q$ ~& G& v3 V' B" n谢谢~~
作者: kensington    时间: 2010-3-8 12:44
这个问题我没处理过,但是有种方法可以解决,到图书馆把VB所有的书都找出来,一本一本的翻,有几本比较厚的书很管用,书名忘了,好像是叫什么明日科技编的
作者: 数学者    时间: 2010-3-10 21:04
搞定它了,呵呵~, U3 Z: [% v9 d3 h+ x) H# n
代码也弄出来,在Excel的VB编辑器里执行
) q; d: o$ X: i- L3 q4 ?制作环境为office2003
1 M' E( Z! A4 [4 X2 o$ ]# m0 SPublic Sub getIpAndPcnameAndUsername()7 J$ J5 \( G7 I6 V) X9 w
6 F& V! M# ~8 b
    Dim myIp, pcName, userName As String3 I' M: R9 F: g4 D
    Dim objWMIService, IPConfigSet, sysInfm As Object. Z" S) n- ]8 \3 `0 T3 i7 ~( p
   
/ o! `7 e* C) y% f# G1 k; |, L    Set objWMIService = GetObject("winmgmts:"). q3 D0 B4 O8 x, z7 B
    Set IPConfigSet = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
+ v- U6 Z7 w3 {/ t- p" L    Set sysInfm = CreateObject("WScript.Network")
7 F+ V1 {7 }# x5 C, Z    1 s+ z* z0 U+ q9 \5 B
    pcName = sysInfm.computername  '获取本机计算机名/ S& [9 F) E7 Y7 o6 C7 q
    userName = sysInfm.userName    '获取本机已登录的用户名5 @# v6 \* J  j7 K4 M* Z; E' Q
   
. Q; D& j, _8 v8 m) e    '获取本机ip地址
5 Y- q  y6 K, Z$ l: A/ `& C$ V    For Each ipconfig In IPConfigSet2 [4 j7 V# |6 i- ^% E, n+ `6 u
    : K8 H% @( C9 Q0 T2 Y- o& l2 v
        If Not IsNull(ipconfig.IPAddress) Then
& ^2 o1 |1 P5 z4 z# K$ A, v            myIp = Join(ipconfig.IPAddress)& o3 G, A' f9 U, C
        End If
4 e6 e, f$ S5 O8 @, V2 r        
# F/ [; p3 |* {8 r) D0 D7 w3 m1 @        If myIp <> "0.0.0.0" Then
. ?+ E' C# ]4 K1 k            MsgBox "IP Address: " & myI$ u& ~/ i8 v$ r% l5 T
     End If
/ g4 A1 {0 u9 ?        / O7 A7 v. {1 }. n& g& c
    Next/ @% j& ^0 ]( {
End Sub




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5