Sebagai bahasa skrip yang digunakan dalam produk Microsoft Office, VBA sebenarnya sangat kuat, karena ia mewarisi banyak tradisi Visual Basic yang bagus. Misalnya, kita dapat memperkenalkan kelas dalam proyek VBA seperti perpustakaan VB 6 atau kontrol ActiveX . Tentu saja komponen atau kontrol yang Anda gunakan di VB 6 juga dapat digunakan di VBA, seperti komponen input tanggal. VBA mendukung ADO, yang berarti kita juga dapat mengoperasikan database di VBA, termasuk SQL Server, Access, dll. Oleh karena itu, Anda dapat mencoba menulis program VBA di Excel untuk menggunakan Excel sebagai middleware untuk sinkronisasi data. Middleware ini dapat digunakan untuk menyinkronkan data dalam aplikasi dan database latar belakang, serta melakukan beberapa pemrosesan di dalamnya. Itu bisa dilakukan! Saya telah melakukan contoh seperti itu di proyek sebelumnya, dan kami bahkan menyinkronkan data antara SQL Server dan Sharepoint List melalui Excel (saya akan memperkenalkan ini di beberapa bab berikutnya). ADO juga sangat kuat. Kita dapat menjalankan skrip Windows di dalamnya. Ini sering digunakan untuk mengelola AD Windows Server, seperti melintasi akun di AD, memodifikasi akun di AD secara batch, dll. Tidak ada yang mengejutkan tentang ini. Anda dapat menggunakan Notepad untuk menulis skrip vbs di Windows, dan kemudian menggunakannya secara langsung untuk mengelola AD di server Anda. Tentu saja, berdasarkan pertimbangan keamanan, ini memerlukan izin eksekusi yang sesuai. Tugas-tugas ini juga dapat diselesaikan melalui VBA, dan di Excel Anda akan menemukan bahwa kadang-kadang sangat mudah, seperti meminjam UI Excel yang ada untuk menampilkan data yang dioperasikan menghasilkan grafik berdasarkan data yang ditanyakan menggunakan fungsi yang disediakan oleh Excel; memodifikasi Data; kemudahan melintasi dan mengatur data, dll... Saya akan memberikan contoh di bawah ini. Tambahkan Tombol ActiveX ke Sheet baru dan tambahkan kode berikut. Sub Pribadi CommandButton1_Click() Pada Kesalahan Resume Berikutnya Const ADS_SCOPE_SUBTREE = 2 Setel objConnection = CreateObject (ADODB.Connection) Set objCommand = CreateObject(ADODB.Command) objConnection.Provider = ADsDSOObject objConnection.Open Active Directory Provider Set objCommand.ActiveConnection = objConnection objCommand.Properties(Ukuran Halaman) = 1000 objCommand.Properties(Searchscope) = ADS_SCOPE_SUBTREE objCommand.CommandText = _ SELECT Name FROM 'LDAP://dc=XXX,dc=com' WHERE objectCategory='user' 'cari semua pengguna dari domn XXX Setel objRecordSet = objCommand.Execute objRecordSet.MoveFirst Redupkan currCell Sebagai Set Rentang currCell = Range(A1) Lakukan Hingga objRecordSet.EOF currCell.Value = objRecordSet.fields(Name).Value Set currCell = currCell.Offset(1, 0) objRecordSet.MoveNext Loop End Sub Dalam kodenya, saya menggunakan nama domain imajiner XXX. Pembaca dapat mengubahnya menjadi nama domain asli jika ingin mengujinya. Kami menggunakan ADO untuk melakukan kueri pengguna pada domain yang ditentukan, dan menampilkan nama semua pengguna di domain tersebut ke kolom pertama Lembar saat ini di Excel. Di bawah ini adalah sebagian tangkapan layar dari hasil keluaran. Mengenai cara mengoperasikan AD melalui skrip, pembaca dapat merujuk ke dokumentasi resmi Microsoft. Jika izin diizinkan, ubah sedikit kode di atas, dan Anda dapat sepenuhnya memodifikasi akun di AD secara batch nyaman untuk menguji di sini. Pembaca dapat mencobanya sendiri jika memiliki syarat.