2017-01-02 1 views
-1

다음 VBA 코드를 사용하여 한 셀에서 다른 셀로 데이터를 복사하도록 수정 한 XLSX 파일이 있습니다.배치 파일에서 VBA 코드를 실행하는 방법은 무엇입니까?

이 xlsx 파일을 csv 형식으로 변환합니다. (나는 이것을 잘하고 있습니다.)

이 xlsx 파일은 매일 새로운 파일로 대체되기 때문에 일정 잡을 수있는 배치 파일에서 VBA 코드를 실행할 수있는 방법을 찾아야합니다.

내 코드

Option Explicit 

Sub copy_Cell_A4() 

    Dim RowLocation As Long 'can hold over 32000 if over this many rows 
    Dim ws As Worksheet 

    Application.ScreenUpdating = False 

    For Each ws In Worksheets 
     RowLocation = ws.Range("A" & Rows.Count).End(xlUp).Row 
     ws.Range("A4").Copy ws.Range("J6:J" & RowLocation) 
     ws.Range("A2").Copy ws.Range("K6:K" & RowLocation) 
     ws.Range("E2").Copy ws.Range("L6:L" & RowLocation) 
    Next ws 

    Application.CutCopyMode = False 
    Application.ScreenUpdating = True 
    Application.ThisWorkbook.Close SaveChanges:=True 

End Sub 
+1

당신은 다른 파일 또는 VBScript를 엑셀에 코드를 삽입해야합니다. –

답변

1

당신은 당신의 코드를 약간 수정 등 독립적으로 사용할 수있는 독립형 스크립트 파일이 될 것입니다 .VBS 스크립트에서 동일한를 저장할 수 있습니다. 당신의 엑셀과 같은 파일

참고 :이 도움이 될 것입니다

Option Explicit 
Dim xlApp, xlBook 
Set xlApp = CreateObject("Excel.Application") 
Set xlBook = xlApp.Workbooks.Open("C:\Users\user1\Desktop\samplefile.xlsx, 0, True) 

희망.

0

VBScript를 사용하여 통합 문서에서 MACRO를 자동으로 실행할 수 있습니다. 아래의 코드에서

, 바로 다음 매개 변수를 대체 :

  1. "C:\YourFolderPath\" - 당신이 당신의 Excel에서 거기에 코드 파일 보관 폴더 경로로.

  2. "SO_VBScript.xlsm" - "copy_Cell_A4"Sub 코드를 유지하는 Excel 파일로 수정하십시오.

  3. "copy_Cell_A4" - 이것은 게시자가 게시 한 Sub의 이름입니다.

의 VBScript 코드

Option Explicit 

Dim xlApp 
Dim xlBook 
Set xlApp = CreateObject("Excel.Application") 

Set xlBook = xlApp.Workbooks.Open("C:\YourFolderPath\SO_VBScript.xlsm", 0, True) 
xlApp.Run "copy_Cell_A4" 
xlApp.DisplayAlerts = False 
xlBook.Save 
xlBook.Close 
xlApp.Quit 

Set xlBook = Nothing 
Set xlApp = Nothing 

WScript.Echo "Finished" 
WScript.Quit 
+0

@TontoDiablo VBScript에서 위의 코드를 실행 해 보셨습니까? –

관련 문제