2014-01-16 10 views
0

Microsoft Project 파일을 여는 데 사용하고있는 코드가 있지만 모든 노력에도 불구하고 열기 대화 상자가 나타나지 않거나 자동 응답하지 못합니다 .VBA를 사용하여 MPP 프로젝트 파일을 열 때 열기 리소스 풀 대화 상자 방지

나는 Application.EnableEvents = False, Application.DisplayAlaerts = False.FileOpenEx을 모두 사용하지 않았습니다.

몇 가지 도움을 주시면 감사하겠습니다. 미리 감사드립니다.

Public Sub extract_data() 

Dim appProj As MSProject.Application 
Dim aProg As MSProject.Project 
Dim app 
Dim mppApp As MSProject.Application 
Dim Tasks As Tasks 
Dim mpp_file_name As String 
Dim j As Integer 

    Set destination_ws = ThisWorkbook.Worksheets("Imported Vehicles") 
    destination_ws.Cells.Clear 

    file_location = ThisWorkbook.Worksheets("Control Panel").Range("F19").Value 
    file_name = ThisWorkbook.Worksheets("Control Panel").Range("F20").Value 
    file_location_and_name = file_location & file_name 

    Set appProj = CreateObject("Msproject.Application") 

    '--------------------------------------------------------------------- 
    'Set appProj = GetObject(, "MSProject.Application") 
    'If IsEmpty(appProj) Then Set appProj = CreateObject("MSProject.Application") 
    'appProj.FileOpenEx Name:=file_location_and_name, ReadOnly:=True 
    '--------------------------------------------------------------------- 

    Application.EnableEvents = True 
    Set mppApp = CreateObject("msproject.application") 

    mppApp.DisplayAlerts = False 
    mppApp.FileOpen Name:=file_location_and_name, ReadOnly:=True ' Opens file as Read Only 

    mppApp.DisplayAlerts = False 
    Application.EnableEvents = True 

    '--------------------------- WAIT FOR IE TO CATCH UP -------------------------- 
    newHour = Hour(Now()) 
    newMinute = Minute(Now()) 
    newSecond = Second(Now()) + 3 
    waitTime = TimeSerial(newHour, newMinute, newSecond) 
    Application.Wait waitTime 
    '------------------------------------------------------------------------------ 

    Set aProg = mppApp.ActiveProject 
    'aProg.Visible = True 

    Application.SendKeys "{TAB}" 'Enter to OK 
    Application.SendKeys "^~" 'Enter yes to OK 

    'COPY DATA ACROSS code 

    Set mpApp = Nothing 

    DoEvents 

    MsgBox "Data from MS Project File Copied", vbInformation 

End Sub 

답변

1

당신은이에 파일 열기 줄을 변경, DisplayAlerts를 전환 할 필요가 없습니다 :

mppApp.FileOpen Name:=file_location_and_name, ReadOnly:=True, openPool:=pjDoNotOpenPool