私はスクリプトの初心者です。私は多くの検索を行ってきましたが、私の問題に合った解決策を見つけることができませんでした.
- 私は、同じセル (A2 & B2) に 1 つのワークシートと 2 つの値を含む、さまざまな数の CSV を含むフォルダーを持っています。
- ワークシート名が同じではありません。
論理的には、このフォルダー内の各 CSV に移動し、2 つの値を取得して、MonthlyAvg という名前の XLS の 1 つのワークシートに 2 列で配置するスクリプトを作成する必要があります。
つまり、最初の範囲はマスター ドキュメントの A2 と B2 に移動し、2 番目の A2 と B2 はマスター ドキュメントの A3 と B3 に移動します。私の考えでは、これは配列で処理する必要があります。残念ながら、配列を論理的に作成して見つけたものを、これまでにまとめたものに入れることができないため、ここで立ち往生しています。ヘルプやガイダンスをいただければ幸いです。
strPath = "D:\MacWP\MacWork\Thermometers\TOT\MonthlyAvg\"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder (strPath)
For Each objFile In objFolder.Files
If objFso.GetExtensionName (objFile.Path) = "csv" Then
Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)
'Find the first worksheet name
FirstSheetName = objExcel.Activeworkbook.Worksheets(1).Name
'Set the first worksheet name
Set objSheet = objWorkbook.Sheets (FirstSheetname)
'Display the value in B2 of the first worksheet
MsgBox objSheet.Range("B2").Value
'Display the value in A2 of the first worksheet
MsgBox objSheet.Range ("A2").Value
objWorkbook.Close False 'Save changes
End If
Next
objExcel.Quit