2009-09-01 6 views
4

.NET 3.5 Excel 2007 VSTO 통합 문서의 ListObject를 새 시트 (완료)에 저장하고 해당 통합 문서가없는 새 통합 문서에 저장하려고합니다. VSTO 사용자 화 파일 (!!!!!).VSTO 통합 문서의 VSTO가 아닌 복사본 저장

아무도 이걸 가지고 행운이 있었나요? 성공을 거둔 유일한 방법은 CSV 파일로 저장하는 것 뿐이지 만이 경우 정확하게 수용 할 수는 없습니다. 차라리 XLS 파일로 복사하는 대신 CSV에 저장하지 않을 것입니다.

worksheet.SaveAs (saveDialog.FileName, Excel.XlFileFormat.xlOpenXMLWorkbook)

답변

5

만약 내가 제대로 이해하고, 당신이 어떤 VSTO 사용자 정의를 따라하거나로드 할 새 통합 문서 파일을 싶지 않아?

MSDN link을 사용하면 VSTO 사용자 지정 어셈블리를 통합 문서에서 제거 할 수 있습니다.

+0

이것은 정확히 내가 필요한 것입니다. 고맙습니다! –

1

이 작업이 결국 나에게 도움이되지 못했지만 여기에는 그 이유가 나와 있습니다. 대답은 정확하지만 앞으로의 사용자를 명확하게 밝히고 싶습니다.

ListObject가 있습니다. VSTO를 사용하여 외부 통합 문서에 저장하려고했습니다. 새 워크 시트를 만들고 SaveAs를 사용하면 현재 통합 문서의 이름이 변경되므로 전체 통합 문서를 닫아 사용자 지정 내용을 제거해야합니다.

워크 시트를 만들고 워크 시트 말했다에 ListObject를 채우는 : 나는 처음부터 했어야 무엇

이입니다. 그런 다음 매개 변수없이 .Copy()를 사용하여 새 통합 문서를 만듭니다. 그렇다면 어떻게하면 통합 문서를 찾을 수 있습니까? 간단히 Worksheet Now.Ticks.ToString()의 이름을 지정하고 ActiveSheet.Name을 사용하여 열려있는 워크 북을 Now.Ticks.ToString()으로 찾았습니다. 이 응용 프로그램의 경우, 더 깊이있을 필요는 없습니다. 나는 그 THAT workbook을 구한 다음 닫았다. 통합 문서가 복사로 작성되었으므로 통합 문서에 사용자 지정이없고 문제가 해결되었습니다.

+0

소리가 심하다. 왜 당신은 그냥 ... Excel.Workbook wkbk = xlApp.Workbooks.Add (params); Excel.Worksheet wksht = wkbk.Worksheets.get_Item ("Sheet1"); ListObject를 여기 wksht에 채우기위한 코드를 삽입하십시오 ... wkbk.Close (true); –

+0

나는 먼저 그 경로를 시도했지만 결과 통합 문서에 VSTO 요구 사항이 첨부되어 있다고 생각합니다. 나는 틀릴 수 있었다. –

+1

좋아, 그럼 내가 wkbk 개체에 대한 Workbook.RemoveCustomization 메서드를 호출했다. –

관련 문제