[.net] System.Runtime.InteropServices.COMException (0x800A03EC)



Answers

이게 나에게 효과가 있었으면 해봐.

  1. "시작"-> "실행"으로 이동하여 "dcomcnfg"를 입력하십시오.
  2. 이렇게하면 "콘솔 루트"-> "컴퓨터"-> "DCOM 구성"을 확장하여 구성 요소 서비스 창을 불러옵니다.
  3. 구성 요소 목록에서 "Microsoft Excel 응용 프로그램"을 찾습니다.
  4. 항목을 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하십시오.
  5. 속성 대화 상자의 "ID"탭으로 이동하십시오.
  6. "대화 형 사용자"를 선택하십시오.

여기에 언급 된 마지막 단락의 호의

Question

Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs() 메서드는 Windows 서버 2003 및 XP에서는 작동하지만 Windows 서버 2008에서는 작동하지 않습니다. 모든 Dll 및 권한을 부여한 그대로 복사했습니다.

문화 설정 및 DCOM 권한과 같이 그물에 주어진 모든 솔루션을 시도했습니다.

다음 오류 받기 :

System.Runtime.InteropServices.COMException (0x800A03EC) : HRESULT 예외 : 0x800A03EC

...에서

Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs (개체 파일 이름, 개체 FileFormat, 개체 암호, 개체 WriteResPassword, 개체 읽기 전용, 개체 CreateBackup, XlSaveAsAccessMode AccessMode, 개체 ConflictResolution, 개체 AddToMru, 개체 TextCodepage, 개체 TextVisualLayout, 개체 로컬)

도와주세요 ..!




아직도이 문제를 겪고있는 모든 사람들에게, 나는 단지 피 묻은 것을 추적하는 데 2 ​​일을 보냈다. 데이터 집합에 행이 없으면 동일한 오류가 발생했습니다. 분명한 것처럼 보이지만 오류 메시지는 매우 애매합니다. 따라서 2 일입니다.




Excel 파일을 저장하려고 할 때이 동일한 오류가 발생했습니다. 이 코드는 MS Office 2003을 사용할 때 잘 작동했지만 MS Office 2007로 업그레이드 한 후에이 코드를보기 시작했습니다. Excel 파일을 서버 또는 원격 공유에 저장하려고 할 때마다 발생합니다.

내 솔루션은 초보적이지만 잘 작동했습니다. 방금 프로그램이 사용자의 C : \ 드라이브처럼 로컬로 파일을 저장하도록했습니다. 그런 다음 "System.IO.File.Copy (File, Destination, Overwrite)"메서드를 사용하여 파일을 서버로 이동합니다. 그런 다음 C : \ 드라이브에서 파일을 삭제할 수 있습니다.

위대하고 단순한 작품. 그러나 가장 우아한 접근 방법은 아닙니다.

희망이 도움이! 나는이 아이디어가 내 머리 속으로 튀어 나올 때까지 웹상에서 어떤 솔루션을 찾는 데 많은 어려움을 겪고있었습니다.




Related