Microsoft Office 製品で使用されるスクリプト言語である VBA は、Visual Basic の優れた伝統の多くを継承しているため、実際には非常に強力です。たとえば、VB 6. ライブラリや ActiveX コントロールなどの VBA プロジェクトにクラスを導入できます。 。もちろん、日付入力コンポーネントなど、VB 6 で使用するコンポーネントやコントロールは VBA でも使用できます。 VBA は ADO をサポートしています。これは、SQL Server や Access などのデータベースを VBA で操作できることも意味します。このため、Excel で VBA プログラムを作成し、Excel をデータ同期用のミドルウェアとして使用して、アプリケーションとバックグラウンド データベースのデータを同期し、そこで何らかの処理を実行することができます。できるよ!私は以前のプロジェクトでこのような例を実行し、Excel を介して SQL Server と Sharepoint List の間でデータを同期しました (これについては後続のいくつかの章で紹介します)。 ADO は非常に強力であり、AD 内のアカウントの走査や、AD 内のアカウントのバッチ変更など、Windows Server の AD の管理によく使用されます。 Windows 上でメモ帳を使用して vbs スクリプトを作成し、それを直接使用してサーバー上の AD を管理することもできます。もちろん、セキュリティ上の考慮事項に基づいて、これらには適切な実行権限が必要です。これらのタスクは VBA を使用して実行することもできます。Excel では、クエリされたデータに基づいてグラフを生成するために Excel の既存の UI を借用するなど、非常に便利な場合があります。データの変更、データの走査と整理のしやすさなど...以下に例を示します。新しいシートに ActiveX ボタンを追加し、次のコードを追加します。 Private Sub CommandButton1_Click() On Error Resume Next Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject (ADODB.Connection) Set objCommand = CreateObject(ADODB.Command) objConnection.Provider = ADsDSOObject objConnection.Open Active Directory Provider Set objCommand.ActiveConnection = objConnection objCommand.Properties(Page Size) = 1000 objCommand.Properties(Searchscope) = ADS_SCOPE_SUBTREE objCommand.CommandText = _ SELECT Name FROM 'LDAP://dc=XXX,dc=com' WHERE objectCategory='user' 'からすべてのユーザーを検索しますdomn XXX セット objRecordSet = objCommand.Execute objRecordSet.MoveFirst Dim currCell As Range Set currCell = Range(A1) Do until objRecordSet.EOF currCell.Value = objRecordSet.fields(Name).Value Set currCell = currCell.Offset(1, 0) objRecordSet.MoveNext Loop End Subコードでは、架空のドメイン名 XXX を使用しました。読者がテストしたい場合は、これを実際のドメイン名に変更できます。 ADO を使用して、指定されたドメインに対してユーザー クエリを実行し、ドメイン内のすべてのユーザーの名前を Excel の現在のシートの最初の列に出力しました。以下は、出力結果の部分的なスクリーンショットです。 スクリプトを使用して AD を操作する方法については、Microsoft の公式ドキュメントを参照してください。権限が許可されている場合は、上記のコードを少し変更するだけで、会社のネットワーク環境を考慮して、AD 内のアカウントを一括で完全に変更できます。条件が揃っていれば、読者はここでテストすることができます。