数学者 发表于 2010-3-5 11:55

如何利用VBA记录哪些用户曾打开某excel文档?

利用VB或VBA记录(获取)哪些用户曾经打开过某excel文档,如:ip为172.36.254.22的用户在2010-03-02曾打开过“D:\book1.xls”,现在要记录以下三个信息:
      172.36.254.22 ;
      2010-03-02 ;
      D:\book1.xls。
请问该如何来实现呢?请各位高手帮忙解决一下
谢谢~~

kensington 发表于 2010-3-8 12:44

这个问题我没处理过,但是有种方法可以解决,到图书馆把VB所有的书都找出来,一本一本的翻,有几本比较厚的书很管用,书名忘了,好像是叫什么明日科技编的

数学者 发表于 2010-3-10 21:04

搞定它了,呵呵~
代码也弄出来,在Excel的VB编辑器里执行
制作环境为office2003
Public Sub getIpAndPcnameAndUsername()

    Dim myIp, pcName, userName As String
    Dim objWMIService, IPConfigSet, sysInfm As Object
   
    Set objWMIService = GetObject("winmgmts:")
    Set IPConfigSet = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    Set sysInfm = CreateObject("WScript.Network")
   
    pcName = sysInfm.computername  '获取本机计算机名
    userName = sysInfm.userName    '获取本机已登录的用户名
   
    '获取本机ip地址
    For Each ipconfig In IPConfigSet
   
        If Not IsNull(ipconfig.IPAddress) Then
            myIp = Join(ipconfig.IPAddress)
        End If
        
        If myIp <> "0.0.0.0" Then
            MsgBox "IP Address: " & myI
     End If
        
    Next
End Sub
页: [1]
查看完整版本: 如何利用VBA记录哪些用户曾打开某excel文档?