데이터베이스에서 정보를 가져와서 해당 데이터를 Excel 파일(C:\file.csv)로 내보내는 vbs 파일이 있습니다. 이 작업이 완료되면 일련의 매크로(vba)를 실행하여 이 데이터의 형식을 지정합니다. 이 매크로는 항상 동일합니다. 저는 일반적으로 텍스트 파일에서 스프레드시트로 매크로를 복사/붙여넣은 다음 수동으로 실행합니다.
데이터를 스프레드시트로 내보낸 후 매크로가 실행되도록 매크로 vba를 vbs 파일에 포함할 수 있는 방법이 있습니까?유사한 솔루션방법을 보여줘부르다매크로의 내용을 내 vbs 파일에 저장/실행하려는 Excel 파일의 사전 정의된 매크로입니다. VBS가 새로운 파일을 생성한 다음 서식 지정 매크로를 실행하므로 이는 도움이 될 것입니다.
내 생각엔 내가 사용해야 할 것 같아Set objWorkbook = objExcel.Workbooks.Open("C:\file.csv")
답변1
당신은 올바른 길을 가고 있습니다. 먼저 필요한 것은 후기 바인딩을 사용하여 Excel.Application에 대한 새 변수를 설정하는 것입니다. 모든 일반 Excel VBA 기능이 숨겨져 있는 개체 아래에 있습니다. 다음은 새 통합 문서를 열고, 새 시트를 추가하고, 이름을 "TEST"로 지정하고, A1
해당 새 시트의 셀에 일부 콘텐츠를 추가하는 예제 vbs 스크립트입니다. 완료되면 VBS는 "Finished"를 출력합니다.
Sub createWB()
'Set the excel application variable
set xlApp = CreateObject("Excel.Application")
'Make it visible, or hide it in the background
xlApp.Application.Visible = true
'Open a new workbook, for instance
set xlWB = xlApp.Workbooks.Add()
xlWB.Activate
'Add a sheet, name it test, bring it front and center
set xlSheet = xlWB.Worksheets.Add()
xlSheet.Name = "TEST"
xlSheet.Activate
'Put something in cell A1
xlSheet.Cells(1,1).value = "TEST CELL CONTENT"
End Sub
'Call the subroutine above
call createWB
WScript.Echo "Finished."
WScript.Quit
VBS를 만족시키기 위해 기존 VBA 코드를 약간 조작해야 할 수도 있지만 VBS에서 매크로를 작성하는 것은 VBA에서 작성하는 것만큼 기능적이라는 것을 알게 될 것입니다.
답변2
답변3
매크로를 Excel 템플릿에 넣을 것입니다. 그런 다음 템플릿에 autonew 매크로를 만들어 csv 파일을 가져오고 서식 지정 매크로를 실행합니다.
그런 다음 vbs를 사용하여 csv 파일을 생성 및 저장하고 템플릿을 기반으로 Excel 파일을 열었습니다.