0

よろしくお願いします。オフィスのコンピューターでタスクを実行する必要があるため、追加のソフトウェアをインストールすることはできません。そのため、最も効率的でなくても、バッチ ファイルを使用するのが最も簡単な方法であると思います (ただし、他のソリューションも歓迎します)。オフィスのコンピュータにソフトウェアをインストールしなくてもできるかもしれません)。また、あなたの回答にはプログラミング経験がほとんどないことを覚えておいてください:)

基本的に、一連のサブフォルダーを含むフォルダーがあり、それぞれがさまざまな種類のファイル (テキスト、電子メール、テキストベースの PDF、Word ドキュメント) でいっぱいです。また、何百もの電子メール アドレスを含むテキスト ファイル (または Excel 列) もあります。バッチ ファイル (または同様の方法) を使用して、リスト内の各電子メール アドレスを実行し、Windows Search のように各フォルダー内のさまざまなファイルの内容を検索したいと考えています。検索フレーズを含むファイルは、事前に指定されたフォルダーに自動的に移動されます (これらのファイルの多くは同じ名前である可能性があるため、名前を変更するか、新しいサブフォルダーに配置する必要があります)。最終的に、内容にリストの電子メール アドレスを含むファイルを含まない 1 つのフォルダー (およびそのサブフォルダー) が必要です。

(電子メール アドレスのリストは Excel にあるので、フォルダ内のファイルの内容を再帰的に検索できる場合は、ある種の VBA マクロを使用することもできます。)

これが理にかなっていることを願っています。そうでない場合は喜んで明確にします。繰り返しますが、あなたが提供できる助けに感謝します!

4

3 に答える 3

0

以下は、ADO プロバイダーを使用して Windows デスクトップ検索を照会する単純な VBA ルーチンです。このスクリプトは、これまでの私の唯一の経験なので、質問がある場合は、 http://msdn.microsoft.com/en-us/library/windows/desktop/bb231256( v=vs.85) で確認できます。 aspx

ファイルを見つけるのは比較的トリッキーな部分です - それらを移動するのは簡単なはずです;_0

Sub Tester()

    Set objConnection = CreateObject("ADODB.Connection")
    Set objRecordset = CreateObject("ADODB.Recordset")

    objConnection.Open "Provider=Search.CollatorDSO;" & _
                       "Extended Properties='Application=Windows';"

    objRecordset.Open "SELECT System.ItemName, System.ItemFolderPathDisplay " & _
                      " FROM SystemIndex" & _
                      " WHERE SCOPE = 'file:C:/_Stuff/local files' " & _
                      " and contains('joe@corp.com')", objConnection

    If Not objRecordset.EOF Then
        objRecordset.MoveFirst
        Do Until objRecordset.EOF
            With objRecordset.Fields
                Debug.Print .Item("System.ItemName"), _
                            .Item("System.ItemFolderPathDisplay")
            End With
            objRecordset.MoveNext
        Loop
    Else
        Debug.Print "no records found"
    End If

    objRecordset.Close
    Set objRecordset = Nothing
    objConnection.Close
    Set objConnection = Nothing

End Sub
于 2013-11-01T20:19:23.907 に答える