トップページ(目次)

285.エクセルファイルを開かずに抽出する(ExecuteExcel4Macro使用)

<実行前後>
 → 
Sub エクセルファイルを開かずに抽出する_ExecuteExcel4Macro()
    
    場所 = "C:\test\" 'ファイルを置いているフォルダをフルパスで指定
    
    FILE名 = "test.xlsx" 'ファイル名と拡張子(.xlsx)を入力
    
    Sheet名 = "Sheet1" 'シート名を指定する
    
                                                       '(書き方注意)Cells(1,3) → R1C3
    Cells(1, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C1")
    Cells(1, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C2")
    Cells(1, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C3")
    Cells(2, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R2C1")
    Cells(2, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R2C2")
    Cells(2, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R2C3")
    Cells(3, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R3C1")
    Cells(3, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R3C2")
    Cells(3, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R3C3")
    
End Sub
次に、本題。複数ファイルから連続して抽出する方法。
<実行前後>
 → 
Sub 複数のエクセルファイルを開かずに抽出する_ExecuteExcel4Macro()
    
    場所 = "C:\test\" 'ファイルを置いているフォルダをフルパスで指定
    
    Sheet名 = "Sheet1" 'シート名を指定する
    
    FILE名 = Dir(場所 & "*.xlsx") 'Dirでエクセルファイル(.xlsx)を選択する
    
    Do
    
        行 = 行 + 1 'エクセルファイルを1個処理するごとに1行づつ下がっていく仕様
    
        Cells(行, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C1")
        Cells(行, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C2")
        Cells(行, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C3")
    
        ファイル名 = Dir() '次のファイルを取得する
    
    Loop While ファイル名 <> "" '次のファイルがなくなるまでループする

End Sub
これで、数ファイルでも数百ファイルでも自動的に指定パスのすべてのファイルを 行を1個づつ下げながら内容を抽出していきます。 行を列に書き換えればどんどん右列に追記さえていく仕様も可能です。

Copyright © 2021 https://excel3000.web.fc2.com/ All Rights Reserved.
    inserted by FC2 system