数学建模社区-数学中国

标题: 如何利用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, F5 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 ]  EEnd Sub




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