2010-12-10 17 views
0

Excelのinteropルーチンを使用して、Excelテンプレートに基づいて一連のレポートを生成するプログラムがあります。Excel inter-opファイルの名前変更

これはすべて問題なく動作しますが、私が理解しようとしている副作用は、ユーザーが元のテンプレートを上書きしないようにする方法です。

私の知る限りでは、テンプレートはすべてのユーザーが読み書きできるイントラネット上にある必要があるということを意味しています。 (アーカイブの場合、ユーザーが実行するアプリケーションは新しいデータで埋め込むことができません)

ファイルの名前を変更してネットワーク上の別の場所に移動することで対処しようと考えていましたが、これが可能なのかどうかはわかりません。 (したがって、スレッドの名前)

さらに、私が考えていない問題に対処するより良い方法があるかもしれません。

答えて

1

私は試していませんが、読み込み専用の共有に入れると、開いているドキュメントにそれを開いて物を書き込むことができるはずです他の場所に保存するにはSaveAsを使用する必要があります。

それ以外の場合は、私が間違っている場合は、相互運用を開始する前に、読み取り専用の共有に入れて、別の場所にコピーすると言ったようにしてください。 File.CopyをコピーしてPath.GetTempFileNameという名前を返して、何も上書きしないようにしてから、最後にSaveAsを使用してコピーしてください。

+0

これは読み取り専用にすることが最良の解決策であることが判明しました。私は間違いなく、この保存ではファイルが編集不可能であると想定していました。これは保存不可能ではなく、私が望んで実際に起こっていることです。 –