.bat file to enter password protected .xls sheet

P

Paul Lambson

I am trying to create a .bat file to open a .xls file. But the file is
password protected to modify. I can't figure out the code to enter the
password in the .bat file and then hit the "OK" key

start "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
"W:\YIELDMGT\Paul Lambson\SAS\ThanksChart.xls"
nircmd.exe dlg "password" click OK

the first two lines get me to the prompt for the password but i'm
stuck there

HELP~~

Paul
 
P

Peter T

I like Joel's idea to use a dummy file's open event to open the p/w
protected file.

Could also try a vbs script if your system allows it

''' start vbs script
On Error Resume Next
Set oxl = GetObject(, "excel.application")
If oxl Is Nothing Then
Set oxl = CreateObject("excel.application")
End If

If oxl Is Nothing Then
MsgBox "Cannot start Excel"
Else
oxl.Visible = True
Set owb = oxl.Workbooks.Open("C:\path\file.xls", , , ,"password") ' <<
change path & password
If owb Is Nothing Then
MsgBox "Cannot open file"
Else
owb.Visible = True
oxl.Windows(1).WindowState = -4137 'xlMaximized
End If

End If
''' end vbs script

copy the above into a text editor (eg Notepad) and save with a *.vbs
extention, say onto the desktop.


Regards,
Peter T
 
P

Paul Lambson

Peter it tried your VBS script. It lauches excel and tries to launch
the .xls but doensn't do the password. any tips?

this is the code
''' start vbs script
On Error Resume Next
Set oxl = GetObject(, "excel.application")
If oxl Is Nothing Then
Set oxl = CreateObject("excel.application")
End If


If oxl Is Nothing Then
MsgBox "Cannot start Excel"
Else
oxl.Visible = True
Set owb = oxl.Workbooks.Open("W:\YIELDMGT\Paul Lambson\SAS
\ThanksChart.xls", , , ,"XXXXX") ' <<
change path & password
If owb Is Nothing Then
MsgBox "dang it paul do this right"
Else
owb.Visible = True
oxl.Windows(1).WindowState = -4137 'xlMaximized
End If


End If
''' end vbs script
 
P

Peter T

It worked for me but try the exact same code in VBA,
Sub abc()
' the vbs code here
' comment the On Error line
End Sub

get rid of this line (my mistake though not the current problem)
owb.Visible = True

Actually not sure the WindowState line below it helps, try w/out

Once you've got it working amend the vbs
(don't declare any variables or use any named xl constants)

Regards,
Peter T
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top