2010-03-23 3 views
0

나는 C# .NET을 엑셀 저장 7

Excel._Workbook m_oWorkBook; 
m_oWorkBook.Save(); 

통합 문서가 이미 저장 되었더라도 파일 이름으로 저장 메시지 박스를 예외 엑셀을 저장하는 API 엑셀과 상호 작용하는 응용 프로그램을 만들었습니다 Windows에서 실패 주어진 이름.

참고 : 다른 통합 문서가 이미 열린 경우에만 &이 Windows 7에서만 발생합니다.

실마리.

답변

0

CSharp의 Excel API에 대해 많이 알지는 못하지만 다른 사람이이 질문에 답하려고했지만 아직 더 좋은 옵션이 없다고 말할 수 없습니다. :)

일부 설명서를 살펴봤을 때 Excel._Workbook.SaveAs() 메서드를 사용하면 파일 이름을 지정할 수 있습니다. Save() 메소드가 Win7에서 SaveAs 대화 상자를 여는 것만 사실이라면 Win7의 버그 일 수 있습니다. 이 버그를 일시적으로 피하려면 Save() 대신 SaveAs() 메서드를 사용해야한다고 제안합니다. 모든 매개 변수는 선택 사항이며 파일 이름이 첫 번째 파일이므로 현재 파일의 파일 이름을 전달하고 이 저장()에서 의도 한 것과 동일한 기능을 수행해야한다고 가정합니다.

IF 이것은 Windows 7의 버그이며,이 문제를 해결하는 데 가장 좋고/힘들지 않을 것이라고 생각합니다. 잘하면이 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다. Tyler SaveAs API를 이미 시도했지만 관련 매개 변수가있는 Save API 대신 대화 상자가 계속 표시됩니다. 더 중요한 것은 엑셀 파일이 이미 열려있을 때 새 인스턴스에서 새 Excel 파일을 만들려고 할 때입니다. 이 프로그램은 WIN VISTA & XP에서 멋지게 작동합니다. "원격 프로 시저 호출"예외가 발생합니다. – Karthik

+0

아, 죄송합니다. Save/SaveAs 문제에 대해 더 많은 도움을 드릴 수 없었습니다. Vista에서는 잘 작동하지만 매우 이상한 문제입니다. 필자는 Win7 API에서 일종의 버그가 될 것이라고 완전히 예상합니다. 원격 프로 시저 호출을하고 있습니까? 그렇지 않다면 MS가 RPC를 자신의 * Excel * API에 넣어야 할 필요성을 느낀다는 사실이 무서운 것 같습니다. – JMTyler