1
이름에 날짜가있는 수백 개의 파일이 있습니다. 이름에서 날짜를 가져 와서 파일의 각 행에있는 각 파일의 첫 번째 열에 넣어야합니다. 예 - datarequested20140209.csv범위를 사용하고 셀에 올바른 데이터를 가져 오지 못함
나는 이미 이름에서 날짜를 가져 와서 재배치했습니다. 요청한 것을 거꾸로 처리했습니다. 저는 열을 추가하고 첫 번째 셀 (헤더)을 올바르게 설정할 수 있습니다. 두 개 이상의 행 (머리글 더하기 1)이 있으면 잘 작동하고 셀에 날짜를 넣습니다.
그러나 헤더 행과 단일 행만있는 경우 두 번째 행의 헤더를 반복합니다. 나는 뭔가를 놓치고 있어야합니다. 어떤 제안?
여기 내 코드는 지금까지 있습니다 :
'Writing to the file
Dim objXLApp, objXLWb, objXLWs
'Getting modified date
Dim FSO, outFQN
Dim sfile, strFolder, strSub1
Dim sYear, sMonth, sDay, sName, sDate
Dim nPos, nPos2
strFolder = "C:\test1"
set objFSO = CreateObject("Scripting.FileSystemObject")
'set objOutput = objFSO.OpenTextFile(strFolder & "\" & strOutput, 8, true)
set objShell = CreateObject("WScript.Shell")
set objFolder = objFSO.GetFolder(strFolder)
for each objFile in objFolder.Files
sfile = objFile.Name
'Parse and fix date
nPos = InStr(sfile,"2014")
nPos2 = "8"
'msgbox(nPOS)
sName=MID(sfile, nPos,nPos2)
'msgbox(sName)
sYear=MID(sName, 1, 4)
sMonth=MID(sName, 5, 2)
sDay=MID(sName, 7, 2)
sDate = sMonth & "-" & sDay & "-" & sYear
'sYear = MID(nPO
'msgbox(sDate)
Set objXLApp = CreateObject("Excel.Application")
objXLApp.Visible = False
Set objXLWb = objXLApp.Workbooks.Open("C:\test1\"& sfile)
' Working with Sheet1
Set objXLWs = objXLWb.Sheets(1)
With objXLWs
'.Columns("A:A").NumberFormat = "123"
.Columns("A:A").Insert xlToRight
.Cells(1, 1).Value = "Date_Modified"
.Cells(2, 1).Value = sDate
set Range = objXLWs.Range("A2:A"&objXLWs.UsedRange.Rows.Count)
Range.FillDown
End With
' Save
StrSub1 = "C:\test1\sub1\"
objXLWb.SaveAs StrSub1 & sfile
objXLWb.Close (False)
' File Formats
'51 = xlOpenXMLWorkbook (without macro's in 2007-2010, xlsx)
'52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2010, xlsm)
'50 = xlExcel12 (Excel Binary Workbook in 2007-2010 with or without macro's, xlsb)
'56 = xlExcel8 (97-2003 format in Excel 2007-2010, xls)
Set objXLWs = Nothing
Set objXLWb = Nothing
objXLApp.Quit
Set objXLApp = Nothing
next
감사는!
실제 코드는 그런 식으로 들여 쓰지 않습니까? –
아, VB.NET, VBA 또는 VBScript입니까? 모두의 수 없습니다 ... –
죄송합니다 - VBscript. 그리고, 그것은 들여 쓰기가되었습니다. 다시, 죄송합니다. 고치려고합니다. –