Ваша программа должна будет предоставить пароль, потому что пользователь не знает, что это такое!
К счастью, метод Excel.Workbooks.Open
принимает аргумент, позволяющий указать требуемый пароль. Таким образом, ваш код может получить хешированный пароль из реестра (или из того места, где вы его храните), а затем открыть wokrbook через код:
string fileName = @"C:\...";
string password = GetHashedPasswordFromRegistry();
Excel.Workbook workbook = excelApp.Workbooks.Open(
fileName, Type.Missing, Type.Missing,Type.Missing,
password, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing);
Я думаю, что это должно делать то, что вы ищете? Дайте нам знать, как это происходит ...
Mike