2010-12-10 3 views
0

excel interop 루틴을 사용하여 Excel 템플릿을 기반으로 여러 보고서를 생성하는 프로그램이 있습니다.Excel inter-op 파일 이름 바꾸기

이 모든 것은 정상적으로 작동하지만 사용자가 원본 템플릿을 덮어 쓰지 못하게하는 방법을 알아 내려고합니다.

내가 제어 할 수없는 이유로 모든 템플릿이 인트라넷에 있어야만 모든 사용자가 읽고 쓸 수 있어야한다는 것을 알 수 있습니다. (아카이브 인 경우 사용자가 실행하는 응용 프로그램은 새 데이터로 채울 수 없습니다.)

파일의 이름을 바꾸고 네트워크의 다른 곳으로 이동하여이 문제를 해결하려고 생각했습니다. 그러나 이것이 가능한지 확실하지 않습니다. (따라서 스레드의 이름)

또한 내가 생각하지 못했던 문제를 해결할 더 좋은 방법이있을 수 있습니다.

답변

1

시도한 적은 없지만 읽기 전용 공유에 저장하면 열린 상태로 문서를 열어서 저장할 수 있어야한다고 생각합니다. 해당 위치에 저장하려면 대신 SaveAs을 사용해야합니다.

그렇지 않다면, 내가 틀렸다면, 당신은 interop을 시작하기 전에 읽기 전용 공유에 넣은 다음 다른 곳으로 복사한다는 점에서 스스로 말한대로하십시오. File.Copy을 복사하여 Path.GetTempFileName이라는 이름으로 복사 한 다음 다른 것을 덮어 쓰지 말고 결국에는 SaveAs을 사용하여 사용자가 원하는 곳 어디에서나 저장할 수 있습니다.

+0

읽기 전용으로 만드는 것이 가장 좋은 해결책으로 밝혀졌습니다. 필자는 실수로 파일을이 저장에서 편집 할 수 없다고 가정했는데, 이는 저장이 불가능한 것, 즉 내가 원했던 것이고 실제로 일어나고있는 것입니다. –