标签:timer use nts range spl html func href too
1.调用DOS命令:net user 获取系统用户到txtfile(2)临时表没有,用户表有——编写新增用户命令:"net user " & Range("a" & i) & " " & Range("B" & i) & " /add /fullname:" & Chr(34) & Range("D" & i) & Chr(34) & " /comment:" & Chr(34) & Range("E" & i) & Range("F" & i) & Chr(34)
写到batfile文件;
5.执行batfile脚本,实现windows用户与EXCEL用户同步;
视频教程制作中:https://edu.51cto.com/lecturer/6969164.html
VBA代码如下:
Option Explicit
Dim a, K%, i%, z%, ii%
Public Const batfile As String = "D:\TOOLS\smbr.BAT"
Public Const txtfile As String = "D:\TOOLS\windowssmb.txt"
Sub UPDATEUSERS()
Shell "cmd.exe /c " & " net user >" & txtfile, vbHide
t = Timer + 0.3
Do Until Timer > t
DoEvents
Loop
Sheets("SMB").Select
Columns("A:A").Select
Selection.ClearContents
Range("A1") = "SMBUSERS"
Open txtfile For Input As #1
a = Split(Replace(StrConv(InputB(LOF(1), 1), vbUnicode), " ", vbCrLf), vbCrLf)
Close #1
K = UBound(a)
z = 2
For i = 5 To K
If a(i) <> "" And Application.WorksheetFunction.CountIf(Sheets("SPUSERS").Range("A:A"), a(i)) = 0 And a(i) <> "命令成功完成。" Then
Cells(z, 1) = a(i)
z = z + 1
End If
Next
Sheets("SMB").Select
Open batfile For Append As #1
h = Range("A65535").End(xlUp).Row
For i = 2 To h
If Application.WorksheetFunction.CountIf(Sheets("DATA").Range("A:A"), Range("A" & i)) = 0 Then
Print #1, "net user " & Range("a" & i) & " /DELETE"
End If
Next
Sheets("DATA").Select
h = Range("A65535").End(xlUp).Row
For i = 2 To h
If Application.WorksheetFunction.CountIf(Sheets("SMB").Range("A:A"), Range("A" & i)) = 0 Then
Print #1, "net user " & Range("a" & i) & " " & Range("B" & i) & " /add /fullname:" & Chr(34) & Range("D" & i) & Chr(34) & " /comment:" & Chr(34) & Range("E" & i) & Range("F" & i) & Chr(34)
Print #1, "NET LOCALGROUP Users " & Range("a" & i) & " /Delete"
End If
Next
Close #1
End Sub
EXCEL+VBA 管理windows用户 文件服务器用户 新增或删除用户
标签:timer use nts range spl html func href too
原文地址:https://blog.51cto.com/mflag/2373923