다음 스크립트는 폴더 내의 모든 .xlsm 파일 형식을 열고 .xlsx 형식으로 새 디렉터리에 저장하지만 다음과 같이 저장하려고하면 스크립트가 계속 실패합니다. .xlsx..XLSX로 저장하려고하면 VBA 스크립트가 실패합니다.
반환 된 오류 메시지 런타임 오류 '1004'
이, 도움이 많이 appriciated되어 실패하고 난 미리 감사합니다 해결하기위한 모든 시도이다. SaveAs
이 Workbook
객체의 Method
이기 때문에
Set fso = CreateObject("scripting.filesystemobject")
Set fils = fso.GetFolder("FILE LOCATION").Files
FldrPicker = "FILE LOCATION"
With FldrPicker
myPath = FldrPicker
End With
myExtension = "*.xlsm"
myfile = Dir(myPath & myExtension)
filepath = "NEW FILE LOCATION"
Do While myfile <> ""
Set wb = workbooks.Open(Filename:=myPath & myfile)
Application.DisplayAlerts = False
wb.SaveAs = myfile & ".xlsx"
wb.Close Savechanges:=True
Application.DisplayAlerts = True
Loop
'wb.SaveAs'는 값을 할당 할 수 없습니다. 매개 변수를 전달해야합니다. 즉,'wb.SaveAs myfile & ".xlsx"'(참고 : "abc.xlsm" ""C : \ Temp1 \ Temp2 "디렉토리에서"abc.xlsm.xlsx "라는 파일을 활성 디렉토리에 생성합니다.이 디렉토리는 Excel 응용 프로그램이 저장된 곳일 수 있습니다. - 아마도 실제로 'wb'를 원할 것입니다. SaveAs myPath & Left (myfile, Len (myfile) - 5) & ".xlsx"') – YowE3K
다음과 같은 매개 변수를 추가했지만 동일한 오류가 반환됩니다. 'teamname = Left (myfile, Len (myfile) - 5) & ".xlsx"''Destination = filepath & teamname' 'wb.SaveAs = Destination' – Paul
경고로 인해 오류가 발생하면, Excel' **은 정말로 매크로 사용 가능 통합 문서를 일반 파일로 저장하는 것을 좋아하지 않습니다. 코드 시작 부분에'Application.DisplayAlerts = False'를 추가하십시오.DisplayAlerts = True'를 강제 종료합니다. –