MS 프로젝트 파일의 데이터로 Excel 스프레드 시트를 채우는 스크립트를 작성하는 중입니다. 다른 이름을 가진 여러 개의 사용자 지정 열이있는 경우 (사용자 지정 숫자 필드가 다른 이름으로 채워짐) MS 프로젝트 열의 제목 이름을 인식하도록 스크립트를 원합니다.Excel VBA - MS 프로젝트 헤더를 사용하여 열 이름 만들기
아래 코드는 내 시도이지만, 작업 열 제목의 값을 시트에 기록 할 때 오류가 발생합니다. 여기서 제가 잘못된 것이 있습니까?
Sub PopulateSheet()
Dim Proj As MSProject.Application
Dim NewProj As MSProject.Project
Dim t As MSProject.Task
Dim xl as workbook
Dim s as worksheet
Dim Newsheet as worksheet
Set Xl = ThisWorkbook
BookNam = Xl.Name
Set Newsheet = Xl.Worksheets.Add
'Code to find and open project files
Set Proj = New MSProject.Application
MsgBox ("Please Select MS Project File for Quality Checking")
'Select Project File
FileOpenType = Application.GetOpenFilename(_
FileFilter:="MS Project Files (*.mpp), *.mpp", _
Title:="Select MS Project file", _
MultiSelect:=False)
'Detect if File is selected, if not then stop code
If FileOpenType = False Then
MsgBox ("You Havent Selected a File")
Exit Sub
End If
'Write the FileOpenType variant to two separate strings
NewProjFilePath = Left$(FileOpenType, InStrRev(FileOpenType, "\"))
NewProjFileName = Mid$(FileOpenType, InStrRev(FileOpenType, "\") + 1)
Newsheet.Name = NewProjFileName
Set s = Newsheet
'Populate spreadsheet header row with column titles from MS Project
s.Range("A1").Value = t.Number1 ***<-- Error '91' - Object variable or With block variable not set***
End Sub
코드에서 't'를 설정합니까? 예를 들어'Set t = ActiveCell.Task'를 사용하고't.Number1'의 값을 읽을 수 있습니다. –
당신이 제안한 것을했습니다. 그리고 열의 제목이 아니라 작업의 내용으로 셀을 채 웁니다. 어쩌면 내가 잘못된 개체를 사용하고 있을까요? – PootyToot
내 대답과 코드 이탈을 읽었습니까? 의도 한대로 작동합니까? –