Откройте Winword от C # в защищенном режиме

1

Есть ли способ запустить WinWord, чтобы открыть файл в качестве защищенного режима/просмотра?

Я не использую Word Automation - просто запускаю документ, который заставляет Winword.exe начинаться с С#.

Вот код

Process wordProcess = System.Diagnostics.Process.Start("C:\\\\check.docx");.

Что я добавил, чтобы дать WinWord возможность нормально не открывать файл, а вместо этого показывать панель ProtectedView в верхней части документа?

Теги:
ms-word

1 ответ

2
Лучший ответ

Word 2010 и выше

Существует глагол в Word 2010 и называется ViewProtected.

string path = @"c:\path\to\file";
string file = "check.docx";

ProcessStartInfo psi = new ProcessStartInfo(Path.Combine(path, file));
psi.Verb = "ViewProtected";
Process wordProcess = System.Diagnostics.Process.Start(psi );

Или вы можете использовать опцию командной строки /vp

[path to winword.exe]\WinWord.exe  /vp  "c:\path\to\file\check.docx";

Альтернативный вариант

Для более ранних версий нет аргументов или глаголов командной строки, которые позволяют вам открыть файл в protectedmode.

Вы можете использовать глагол OpenAsReadOnly или использовать обходной путь, чтобы скопировать исходный файл и пометить его только для чтения на диске перед открытием. Следующий код демонстрирует, что:

string path = @"c:\Your\Path\to\the\file";
string file = "check.docx";
// make copy
string tmp = Path.GetTempFileName().Replace(".tmp", Path.GetExtension(file));
File.Copy(Path.Combine(path,file), tmp );
// make it Read-Only
File.SetAttributes(tmp, FileAttributes.ReadOnly);
// Open the copy
Process wordProcess = System.Diagnostics.Process.Start(tmp );

wordProcess.EnableRaisingEvents = true;

// remove the file as soon as  the process ends
wordProcess.Exited += (o, args) =>
    {
        File.SetAttributes(tmp, FileAttributes.Normal);
        File.Delete(tmp);
    };
  • 0
    Пробовал раньше. но это не достаточно хорошо Пользователь может редактировать файл (и он делает это), только когда он пытается сохранить или выйти - он получает уведомление только для чтения. защищенный вид отключает редактирование с самого начала ....
  • 1
    В Word 2010 и выше глагол ViewProtected существует и может использоваться для открытия документа в режиме защищенного просмотра.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню