Tendo analisado isso antes, não, não é possível fazer facilmente o que você está pedindo. A solução mais fácil que criei é adicionar um comando personalizado ao menu de contexto do botão direito do mouse e usá-lo para iniciar um formulário personalizado que contenha os campos desejados. No entanto, isso ainda não é fácil e requer que todos os controladores de domínio tenham o código personalizado para que ele funcione.
Se o seu interesse, aqui está um link que descreve como criar um menu de contexto, bem como um formulário personalizado: link
No meu caso, optei por usar um arquivo HTA para meu formulário personalizado em vez de VBA, pois o layout é muito mais flexível. A outra vantagem é permitir que os usuários acessem facilmente quaisquer atributos personalizados do AD que você possa estar usando.
É assim que a forma que criei. Usamos para capturar 3 partes de dados para os quais o AD não contém campos. Salvamos esses valores em atributos personalizados.
Aquiestáocódigoqueuseiparaajanelaacima.Claroquevocêprecisaráajustá-loàssuasnecessidades.Osvaloresexistentessãopassadospelosargumentosdalinhadecomando,queomenudecontextofornece.
<html><head><title>EmployeeInformation</title><HTA:APPLICATIONID='Info'SingleInstance='Yes'SysMenu='No'MaximizeButton='No'MinimizeButton='No'CloseButton='Yes'SCROLLFLAT='No'SCROLL='No'Border='Thin'BORDERSTYLE='simple'INNERBORDER='No'Caption='Yes'WindowState='Maximized'APPLICATIONNAME='EmployeeInfo'Icon='%Windir%\explorer.exe'></head><SCRIPTLANGUAGE="VBScript">
window.resizeTo 410,340
Dim objSelectedUser
Dim args
Sub Window_OnLoad
args = Split(Info.commandline,"""")
Birthday.Value = "error"
HireDate.Value = "error"
EpicorID.Value = "error"
Set objSelectedUser = GetObject(args(3))
EpicorID.Value = objSelectedUser.epicorID
Birthday.Value = objSelectedUser.employeeBirthday
HireDate.Value = objSelectedUser.employeeHireDate
End Sub
Sub TestSub
if EpicorID.Value <> "" Then
objSelectedUser.Put "epicorID",EpicorID.Value
end if
if Birthday.Value <> "" Then
objSelectedUser.Put "EmployeeBirthday",Birthday.Value
end if
if HireDate.Value <> "" Then
objSelectedUser.Put "EmployeeHireDate",HireDate.Value
end if
objSelectedUser.SetInfo
MsgBox("Settings Saved")
Close
End Sub
Sub CloseWindow
Close
End Sub
</SCRIPT>
<body style="background:rgb(242,242,242); font-family:Calibri;">
<center>
<h3>Employee Information</h3>
<p style="border:solid 1px;">Current values are displayed. Enter new values and click "Save" to overwrite the old values.
Click "Cancel" to exit without making changes. Dates should be entered as MM/DD/YYYY.</p>
<table>
<tr>
<td align="right">Epicor ID:</td>
<td><input type="text" name="EpicorID" size="10"></td>
</tr>
<tr>
<td>Employee Birthdate:</td>
<td><input type="text" name="Birthday" size="20"></td>
</tr>
<tr>
<td>Employee Hire Date</td>
<td><input type="text" name="HireDate" size="20"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="right"><input id=runbutton type="button" value="Save" name="run_button" onClick="TestSub" style="width:100%;"></td>
<td><input id=runbutton type="button" value="Cancel/Exit" name="run_button" onClick="CloseWindow" style="width:100%;"></td>
</tr>
</table>
</center>
</body>