2010-12-10 5 views
0

У меня есть программа, которая использует подпрограммы excel interop для генерации множества отчетов на основе шаблона excel.Переименование файла интеркома Excel

Это все работает приемлемо, но побочный эффект, который я пытаюсь выяснить, заключается в том, как запретить пользователям переписывать исходный шаблон.

Это должно быть превосходным по причинам, находящимся вне моего контроля, что, насколько я могу судить, означает, что шаблон должен находиться в интрасети где-то, где все пользователи могут читать/писать. (Если это архив, то приложение, запускаемое пользователями, не сможет заполнить его новыми данными)

Я думал о попытке решить эту проблему, переименовав файл и переместив его в другое место в сети, но я не уверен, что это возможно. (Таким образом, название потока)

Кроме того, может быть даже лучший способ решения проблемы, о которой я просто не думал.

ответ

1

Я не пробовал, но думаю, что если вы поместите его в общий доступ только для чтения, вы все равно сможете его открыть и записать в открытый документ, просто чтобы он не смог его сохранить в это место, вместо этого вам нужно будет использовать SaveAs, чтобы сохранить его в другом месте.

В противном случае, если я ошибаюсь в этом, то сделайте так, как вы сказали себе, в том, что вы поместили его в общий доступ только для чтения, а затем скопировали его где-то еще, прежде чем вы начнете выполнять взаимодействие. Просто используйте File.Copy, чтобы скопировать его, возможно, на имя, которое было возвращено Path.GetTempFileName, чтобы убедиться, что вы не перезаписываете что-либо еще, а затем, в конце концов, просто используйте SaveAs, чтобы сохранить его везде, где хочет пользователь.

+0

, что делает его доступным только для чтения, оказалось лучшим решением. Я ошибочно предположил, что файл будет не редактируемый в этом сохранении, а не просто невосстановимым, что я и хотел и на самом деле происходит. –

Смежные вопросы