Не до конца понял, что именно вам надо получить в итоге, но могу сказать, что защита листа с паролем легко обходится. по крайней мере это работает в версии 2003 - в других не проверял. При этом вы точно не узнаете исходный пароль, но сможете восстановить защиту тем же паролем.
Просто пароль защиты листа снимается методом Unprotect:
expression.Unprotect(Password)
...
Password Optional Variant. A string that denotes the case-sensitive password to use to unprotect the sheet or workbook. If the sheet or workbook isn't protected with a password, this argument is ignored. If you omit this argument for a sheet that's protected with a password, you'll be prompted for the password. If you omit this argument for a workbook that's protected with a password, the method fails.
Обратите внимание, что пароль типа Variant, а передаем мы туда обычно строку. Защиту можно снять, просто пробутфорсив другой тип данных...