Bueno, pues viendo que es una hoja de excel asi dando palos de ciego un poco te pongo un script en python. Instalas python en Windows (que no se si intalara el modulo win32com) por defecto y a ver si esto te funciona. Cambia obviamente "words" y el nombre del fichero con la hoja. No lo puedo probar asi que le he puesto un try/pass a los errores de la parte de Windows y un hash al nombre de salida por si acaso sobreescribia destinos aunque no pudiera desecriptar…
!/usr/bin/python
import itertools
import win32com.client
words = [ "hola", "mundo", "1", "2", "3", "!" ]
full_words = []
for w in words:
full_words.append (w)
if w != w.upper():
full_words.append (w.upper())
for w in itertools.permutations (full_words):
password = ''.join(w)
print (password)
try:
excel = win32com.client.Dispatch('Excel.Application')
workbook = excel.Workbooks.open (r'c:mybook.xls', password)
workbook.SaveAs (hash(password)+'.xls')
except:
pass