모든 버전의 Excel이 설치된 모든 PC에서 내 앱 작업에 늦게 바인딩을 사용하려고합니다.늦은 바인딩으로 UsedRange 가져 오기
그래서 제가 읽은 예제를 구현하려고했는데, 너무 혼란 스럽습니다.
성공적으로 인스턴스를 만들고 파일을 성공적으로 열지 만 UsedRange를 얻는 방법은 무엇입니까?
내 코드 :
object excelApp;
object book;
object usedrange;
excelType = Type.GetTypeFromProgID("Excel.Application");
excelApp = Activator.CreateInstance(excelType);
object docs = excelApp.GetType().InvokeMember("Workbooks",
BindingFlags.GetProperty, null, excelApp, null);
object[] parms = { "C:\\ABC", Missing.Value, true };
book = docs.GetType().InvokeMember("Open",
BindingFlags.InvokeMethod, null, docs, parms);
object[] params2 = { "UsedRange", Missing.Value };
usedrange = book.GetType().InvokeMember("Range",
BindingFlags.GetProperty, null, book, params2);
그리고 내가 셀에 의해 행 다음 셀을 어떻게받을 수 있나요?
미리 감사드립니다.
WorkBook에는 Range 또는 UsedRange 멤버가 없습니다. 먼저이 일을 조속한 것으로 만드십시오. 가능한 경우 C# 버전 4 * 동적 * 키워드를 활용하십시오. –