Selenium WebDriver로 작성된 자동화 된 테스트 응용 프로그램에 대한 테스트를 유지 관리하는 데 사용하는 Excel 2010 스프레드 시트가 있습니다. 스프레드 시트에는 업로드 (데이터베이스로), 가져 오기 (다른 시트에서), 모든 시트 지우기, 다른 시트로 내보내기, 병합 (두 시트) 및 복원 (데이터베이스에서 테스트 스위트) 등 6 개의 ActiveX 단추가 있습니다. 내 문제는 가져 오기 단추를 선택할 때 실행되는 매크로에서 줄 것 같습니다VBA 매크로 충돌 Excel 2010
매크로를 두 시트, 소스 및 대상 걸리고 대상 시트를 지우고 원본 통합 문서의 셀과 데이터를 대상 통합 문서. 거기에서 데이터베이스에 업로드하거나 테스트 응용 프로그램에서 시트에서 실행할 수 있습니다.
몇 주 전에 가져 오기 버튼을 선택할 때 Excel이 손상되었습니다. 나는 웹을 조사하여 효과가있는 해결책을 발견했다. 여기에는 모든 매크로를 사용하지 않도록 설정, 신뢰 문서 및 신뢰할 수있는 위치를 종료, 통합 문서를 다시 컴파일하고 다시 여는 작업이 포함되었습니다. 지난 주말 같은 일이 다시 일어날 때까지이 작업은 2 ~ 3 주 동안 진행되었고 더 이상 작동하지 않았습니다. 여기
는 내가 가지고있는 코드 : 코드는 다음 줄에 충돌되어numSheets = wrkBook.Sheets.Count
appName = wrkSheet.Cells(2, 3).Value
bkPath = Application.GetOpenFilename("Excel Macro-Enabled Workbook (*.xlsm),*.xlsm")
If bkPath <> "False" Then
Call Clear_All(wrkBook, wrkSheet)
'get the number of sheets in the source workbook
destCnt = wrkBook.Sheets.Count
Set importBook = Workbooks.Open(bkPath)
For a = 1 To destCnt
thsShtName = wrkBook.Worksheets(a).Name
'activate the source workbook
importBook.Activate
'get the numer of sheets in the source workbook
srcCnt = importBook.Sheets.Count
'loop through each sheet checking title
For b = 1 To srcCnt
'get the name of the 'a' sheet
**srcSheetName = importBook.Worksheets(b).Name**
'do more stuff with the source sheet
Next b
Next a
End If
을 srcSheetName = importBook.Worksheets 여기 (B) .NAME
내가 발견 한 몇 가지가있다 . importBook 변수가 설정되면 코드가 문제가되는 행에 도달하지 않은 경우에도 조사 식 창에서 변수를 확장 할 수 없습니다. 그러나 매크로는 srcCount (원본 시트의 시트 수)를 성공적으로 가져옵니다. 매크로가 문제가되는 행에 도달하면 Excel에 오류가 발생하여 종료해야한다는 메시지와 일관되게 충돌합니다. 정보가 없으면 Excel이 닫히고 때로는 빈 통합 문서로 다시 시작됩니다.
열려고하는 파일의 시트 중 하나가 손상되었을 수 있습니까? 오류 발생시'b'의 값은 무엇입니까? –
다른 하나를 저장하고, 저장된 시트를 지우고, "손상된"시트의 모든 데이터를 하나씩 복사하여 소스 시트가 손상 될 수 있다는 사실을 조사했습니다. b = 1 (예상대로) 그것은 실패한 줄을 때려줍니다 –
그 줄에 휴식을 취한 다음 즉각적인 창에'? importBook.Name'을 입력하고 마찬가지로'? importBook.Sheets (1) .Name'을 확인하십시오 –