2016-06-29 6 views
0

CSV 파일에 대해 그리드 데이터 유효성 검사를 수행하고 두 개의 워크 시트가있는 Excel 파일에 결과를 저장하는 HP UFT 12에서 스크립트를 만듭니다.
셀 서식을 허용하고 데이터를 비교하기가 더 쉽기 때문에 사용자에게 훨씬 명확하므로 Excel을 사용하고 있습니다.통합 문서를 저장하고 TITUS (또는 다른 문서 분류 추가 기능) 팝업을 처리하는 방법은 무엇입니까?

내 코드가 내 컴퓨터에서 작동하지만 내 클라이언트에 TITUS 문서 분류 추가 기능이 설치되어 있으므로 스크립트를 실행할 때마다 저장시 문서를 분류하도록 TITUS 팝업 메시지가 표시되므로 컴퓨터가 멈 춥니 다 . 아마도 objExcel.DisplayAlerts = False으로 인해 메시지가 사용자에게 표시되지 않지만 스크립트는 앞으로 이동하지 않습니다.

다음은 문제와 관련된 코드의 일부입니다 (기밀성을 이유로 대부분의 코드는 생략했습니다).

Dim objExcel : Set objExcel = CreateObject("Excel.Application") 
Dim objWorkbook : Set objWorkbook = objExcel.Workbooks.Add 
objExcel.Visible = False 
Dim wsGrid : Set wsGrid = objWorkbook.Worksheets(1) 
wsGrid.Name = "Grid Data" 
Dim wsExported : Set wsExported = objWorkbook.Worksheets.Add 
wsExported.Name = "Exported Data" 

' Internal code to perform validation and fill worksheets ... 

objExcel.DisplayAlerts = False 
objWorkbook.SaveAs "C:\my_folder_path\my_file_name.xls" ' This is where it hangs in machines where the add-in is installed 
objWorkbook.Close 
objWorkbook.Quit 
Set objWorkbook = Nothing 
Set objExcel = Nothing 

나는 온라인으로 검색했지만 지금까지는 아무 것도 찾지 못했습니다. thisthis을 찾았지만 Outlook 용 TITUS와 관련이 없으며 어느 쪽도 문제가 제대로 해결되지 않았습니다.
누구든지이 문제를 해결하는 방법을 알고 있습니까? 아니면이 문제를 해결할 수 있도록 연구 자료를 가르쳐 줄 수 있습니까?

미리 감사드립니다.

objExcel.DisplayAlerts = False 
objExcel.EnableEvents = False ' this is the problem solver for the matter! 
objWorkbook.SaveAs "C:\my_folder_path\my_file_name.xls" 
objExcel.EnableEvents = True ' Not sure if this statement is necessary, though 
objWorkbook.Close 
objWorkbook.Quit 
Set objWorkbook = Nothing 
Set objExcel = Nothing 
+0

UFT에서 실행중인 경우 관련 팝업을 오브젝트 저장소에 추가하고 그런 식으로 처리 할 수 ​​없습니까? – Dave

+0

@Dave, 그건 내가 시도하지 않은 한 가지입니다. 내 컴퓨터에 애드 인이 설치되어 있지 않습니다. 게다가 객체는 런타임에 표시되지 않습니다. 콤보 박스 및 버튼 객체를 볼 수 없더라도 처리 할 수 ​​있습니까? 보이지 않는 버튼에서'objButton.Click'과 같은 것을 수행 할 수 있습니까? –

+1

Excel에서 추가 기능으로 실행되는 경우 Excel 자체를 통해 대화 상자에 액세스 할 수 있어야합니다. 프로그램 적으로 팝업을 처리하기 위해 구현할 수있는 VBA 메서드가 있습니까? 어쩌면 당신은 그것을 처리하는 가장 좋은 방법을 알아 내기 위해 귀하의 dev 컴퓨터에 설치된 addin 얻을 수 있습니까? 다른 모든 방법이 실패 할 경우 언제든지'SendKeys' 호출을 사용하여 팝업 창을 지우는 Excel 응용 프로그램에 'Enter'메시지를 표시 할 수 있습니다. – Dave

답변

3

, 단순히 파일을 저장하기 전에 objExcel.EnableEvents = False를 추가하여 내 문제를 해결하기 위해 관리 (나는 내가 전에이 생각하지 않은 방법을 모른다) VBA를 코더하지만 내 친구들이

작업을하고 있지 않다 우리가 발견 한이 솔루션은 유 저장할 때 어떤 새 통합 문서를 분류하도록 요청합니다 디도

의 행동이었다. 메모는 이미 저장된 통합 문서가 아닙니다. 그래서 우리는 빈 통합 문서를 작성

가 통합 문서를 가지고 거기에 데이터를 추가하는 코드를 개정하고 필요한 파일

그것은 어떤없이 원활하게 작동을 만드는 다른 이름으로 저장하여 (필요한 분류)를 저장 문제.

0

I : 보이는만큼 터무니없이 간단한

+0

흠 모든 실행마다 빈 통합 문서를 열고 내용을 붙여 넣은 다음 저장 하시겠습니까? 그것은 그것이 작동하는 방법인가?나는 아직도 스크립트를 실행하는 사람이 컴퓨터에 이러한 통합 문서를 만들어야하기 때문에 필자가 발견 한 해결책이이 수동 작업이 필요하지 않기 때문에 더 실용적이라고 생각합니다 ... –