How to input a password into a XLS file wirh OLE

Post Reply
User avatar
Kleyber
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

How to input a password into a XLS file wirh OLE

Post by Kleyber »

As the subject, I have a XLS file and it has a password. So, how to input it in order to open it?

Regards,
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
User avatar
Kleyber
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Post by Kleyber »

Hi Enrico,

As usual, your help is fantastic. Just one more question: How to see the order of all the ::open() parameters? Can you show me?

Thanks a lot.
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
Rochinha
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo
Contact:

Post by Rochinha »

Hi,

To save use the third parameter in the method SaveAs of WorkBook object

FUNCTION MAIN()
LOCAL oExcel := CREATEOBJECT( "Excel.Application" )
LOCAL oWorkbook := oExcel:Workbooks
LOCAL oSheet := oExcel:ActiveSheet
...
savefile := oWorkbook.SaveAs( fileXL, ,"YourPassWord" )
...
RETURN NIL
User avatar
Kleyber
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Post by Kleyber »

SET PORTUGUESE ON

Fala Rochinha,

Não é bem isso que eu preciso. Eu tenho um arquivo XLS que está protegido por senha e eu tenho essa senha. Daí eu preciso somente abrir esse arquivo usando a senha...

Valeu,

SET ENGLISH ON

Hi Rochinha,

It's not exactly this what I need. I have a XLS file which is password protected and I already have this password. So, I need just open this file using the password.

Regards,
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Kleyber wrote:Hi Enrico,

As usual, your help is fantastic. Just one more question: How to see the order of all the ::open() parameters? Can you show me?

Thanks a lot.
Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU)
Please check VBA*.CHM help files or MSDN.

EMG
User avatar
Kleyber
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Post by Kleyber »

Enrico,

Thank you!!!

Best Regards,
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
Rochinha
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo
Contact:

Post by Rochinha »

I think it is more complex.

You must determine if the password is in the spreadsheet or folder.

Use the example to improve the test in your XLS file.

Code: Select all

#include "fivewin.ch"

FUNCTION main( fileXL ) 
    LOCAL oExcel, oWorkbook, nSheets

    oExcel := TOLEAuto():New( "Excel.Application" ) 
    oExcel:Visible     := .t.
    oExcel:UserControl := .t.

    oWorkbook := oExcel:Workbooks

    oWorkbook:Open( fileXL )

    oActiveWorkBook   := oExcel:ActiveWorkBook

    XLSisProtected( 1, oExcel:ActiveWorkBook, "" )

    nSheets := oActiveWorkBook:Sheets:Count()

    For i = 1 To nSheets
        oWS := oActiveWorkbook:Worksheets(i)
        oWS:Activate()
        XLSisProtected( 2, oWS, oWS:Name )
    Next

    oExcel:End()
    //oWorkbook:Open( fileXL,,,, "xlstest" )

    RETURN NIL

*
* *
* FUNCTION: Test if XLS file is protect
* *
*
FUNCTION XLSisProtected(n,oOBJ,sName)
    LOCAL isP := .t.
    If n==1
       isP := oOBJ:ProtectWindows
       isP := oOBJ:ProtectStructure
       If isP
          MsgStop( "IS Protected", "WorkBook Protection" )
       Else
          MsgStop( "IS NOT Protected", "WorkBook Protection" )
       EndIf
    Else
       isP := oOBJ:ProtectContents
       isP := oOBJ:ProtectDrawingObjects
       isP := oOBJ:ProtectScenarios
       If isP
          MsgStop( "IS Protected", "WorkBook "+sName+" Protection" )
       Else
          MsgStop( "IS NOT Protected", "WorkBook "+sName+" Protection" )
       EndIf
    EndIf
    Return(isP)
Post Reply