2011-09-15 2 views
2

Excel에서 WORKDAY() 함수를 사용하는 스프레드 시트가 있습니다. Excel에서 Analysis Toolpak 라이브러리/패키지/다른 곳에서 사용한다고 생각합니다. 이 스프레드 시트를 수동으로 열고이 함수를 호출하면 정상적으로 작동합니다.Excel에서 C# 코드의 문제가 발생했습니다.

Dim startDate as Date 
startDate = Cells(1,1) 

I 스프레드 시트를 개방 한 후 매크로를 실행하면 수동 코드 잘 실행 :

난 근무() 함수에 이용되는 셀을 참조하는 매크로를 갖는다. 문제는 내가 스프레드 시트를 열고 C# 코드에서 매크로를 실행할 때입니다. 그런 다음 startDate 값을 가져 오려고 시도하면 실패합니다. 내가 그 셀을 볼 때 # VALUE! 참조 오류. 내 C# 코드에서 스프레드 시트를 열 때 올바른 참조를로드하지 않는 것 같습니다.

누구든지이 문제를 해결하는 방법을 알고 있습니까? 그렇지 않으면 분석 추가 기능을로드 appMicrosoft.Office.Interop.Excel.Application 가 열려 후 아무 일도 발생하지 않는 경우의 인스턴스

app.Workbooks.Open(file_name) 

을 : 내가해야 할 일을했을 무엇

+0

일반적으로 C#을 통해 매크로를 열면 매크로가 비활성화 될 수 있습니까? 매크로를 전혀 실행할 수 있는지 확인할 수 있습니까? –

+0

매크로가 실행됩니다. 날짜를 설정하려고하는 줄의 매크로 중간에서 멈 춥니 다. – Dismissile

+0

자동화를 통해 Excel을 열면 추가 기능이 자동으로로드되지 않습니다. 코드에서 수행해야합니다. http://support.microsoft.com/kb/213489 –

답변

3

는 사용 .xla 추가 기능의 로딩을 강제로입니다 . 의 경로를 찾으려면 추가 기능을가 Office 버전에 따라 달라집니다

  • 사무실 11 : C : \ 프로그램 Files \ Microsoft 사무실 \ OFFICE11 \ 라이브러리 \ 분석 \ ANALYS32.XLL
  • 오피스 12 : C를 : \ Program Files (x86) \ Microsoft Office \ Office12 \ Library \ Analysis \ ANALYS32.XLL
관련 문제