2013-07-04 5 views
5

非常に新しいので、助けてください。私は静的なフォルダの場所にファイルを一括更新しようとしています。一つのフォルダに多数のファイルがあります。私は何をしたいか同じ場所に複数のファイルを一括更新するVBAマクロ

  • は、フォルダ内の最初のファイルを開き、後藤ネットワークの場所のフォルダにエクセル2010で

    • 実行VBAマクロです。
    • ワークブックおよびワークシートを実行するために別のマルコを呼び出すプロテクト解除
    • は、ワークシートが
    • ファイルを閉じて、すべてのファイルが修正されるまで、フォルダ内の次のファイルに移動守る変わります。

    私は変更を加えることがマルコを作成しているが、これは

    ファイルの種類がXLSMとワークブックとワークシートある「編集」と呼ばれているパスワードは、どのように私は自動的にgoto文にネットワークの場所をマクロを実行することができます保護されていますそれぞれのファイルを連続して開き、保護を解除し、マクロを呼び出してから、ドキュメントクローズファイルを保護し、すべてが更新されるまで次のファイルに移動します。

    Sub Auto_open_change() 
    
    Dim WrkBook As Workbook 
    Dim StrFileName As String 
    Dim FileLocnStr As String 
    Dim LAARNmeWrkbk As String 
    
    PERNmeWrkbk = ThisWorkbook.Name 
    StrFileName = "*.xlsx" 
    FileLocnStr = ThisWorkbook.Path 
    Workbooks.Open (FileLocnStr & "\" & StrFileName) 
    Workbooks(StrFileName).Activate 
    
    With Application.FindFile 
    SearchSubFolders = False 
    LookIn = "Network location" 
    Filename = "*.xlsm" 
    If .Execute > 0 Then 
        Debug.Print "There were " & .FoundFiles.Count & " file(s) found." 
        For i = 1 To .FoundFiles.Count 
         WrkBook = Workbooks.Open(Filename:=.FoundFiles(i)) 
         WrkBook.Worksheets(1).Select 
         ThisWorkbook.Worksheets(1).Cells(DestinationRange) = WrkBook.Worksheets(1).Cells(SourceRange).Value 
        Next i 
    Else 
        Debug.Print "There were no files found." 
    
    End If 
    

    私は、ファイルの保護を解除し、ファイルを再保護することを管理しています。ちょうどネットワークの場所からファイルを取得できません。

    +0

    コードが動作するネットワークフォルダを設定する際の問題はありますか?そしてもしそうなら、私は基本的な 'Dir'がフォルダパスを通って十分であると思っただろうか? – brettdj

    答えて

    1

    私はExcel 07を使用していますが、これはApplication.FindFileを許可していないため、これはテストできません。しかし、私は問題はあなたがWrkbook変数をSetに割り当てる必要があるかもしれないと信じています。

    Set WrkBook = Workbooks.Open(Filename:=.FoundFiles(i)) 
    

    変更

    WrkBook = Workbooks.Open(Filename:=.FoundFiles(i)) 
    

    、私はそれが判明方法を知ってみましょう!

    関連する問題