Win32::OLE open excel file as read only


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Win32::OLE open excel file as read only
# 1  
Old 03-11-2008
Win32::OLE open excel file as read only

I am using Win32::OLE to write a perl script which opens an excel file. That excel file is password protected and everytime i run that script dialog box pops up and I have to click on Read-Only then my script executes. Is there any way I can specify the readonly attribute in my code so i dont have to click on read only.

Thanks,
guy
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

win32 ole in deepr details in perl

Hello Gurus, I am begginer in perl. I would like to ask several questions, some related to perl and its syntax but most will be regarding to WIN32 OLE. My main goal is to develop script that will check word document structure (return some information) and make some changes in this document (if it... (0 Replies)
Discussion started by: wakatana
0 Replies

2. Shell Programming and Scripting

Details about WIN32::OLE

Hi all, Is win32::OLE module is applicable in linux system??? from my understanding it is not possible..because we have to use some tools for that..for more info refer this website http://oclug.on.ca/archives/oclug/2001-July/008100.html (1 Reply)
Discussion started by: kavi.mogu
1 Replies

3. UNIX and Linux Applications

Perl Script to read an excel file into an array and search in the UNIX directories

Hi, I want the Perl script with versions 5.8.2 and 5.8.5 starting with #!/usr/bin/perl The Perl program should read the excel file or text file line by line and taking into an array and search in the UNIX directories for reference file of .jsp or .js or .xsl with path .The Object names... (2 Replies)
Discussion started by: pasam
2 Replies

4. UNIX for Dummies Questions & Answers

Read excel file using shell script

Is it possible to read an excel sheet using shell script ? (2 Replies)
Discussion started by: hiten.r.chauhan
2 Replies

5. Shell Programming and Scripting

PERL Win32::OLE Inserting Picture in Excel

I am trying to insert a picture into a worksheet in Excel using Perl the following is the code use Win32::OLE; use Win32::OLE::Const "Microsoft Excel"; use Win32::OLE qw(in with); # Initiate Excel application $Excel = Win32::OLE->new('Excel.Application', 'Quit'); $Excel->{Visible} =1; #... (1 Reply)
Discussion started by: cold_Que
1 Replies

6. Shell Programming and Scripting

MS Outlook + Win32::OLE

Hey guys, I'm trying to go through my emails in Outlook until I find an email with a certain subject line. I am able to send emails with no problem, but reading emails and their properties (From, Subject, etc.) is my main problem. Basically, I don't know where to start and using search engines... (2 Replies)
Discussion started by: kooshi
2 Replies

7. Shell Programming and Scripting

Read Ms-excel file in unix

Hi, I have the Ms Excel file(test.xls) in my UNIX box. I would like to read the excel file and create files for each column. Please find an example. My excel file like this data: Num Data 1 a1 2 b2 3 c3 4 d4 5 e5 6 f6 7 h7 My output: I want create 2 files(num.log and... (3 Replies)
Discussion started by: koti_rama
3 Replies

8. Shell Programming and Scripting

use awk to read randomly located columns in an excel file

Hi, I have an excel file that have a random count of columns/fields and what im trying to do is to only retrieve all the rows under 2 specific field headers. I can use the usually command for awk which is awk 'print{ $1 $2}' > output.txt, but the location of the 2 specific field headers is... (9 Replies)
Discussion started by: mdap
9 Replies

9. UNIX for Dummies Questions & Answers

How do u open a read only file in Unix?

How do u open a read only file in Unix? (1 Reply)
Discussion started by: JosephGerard
1 Replies

10. Programming

how can i read an excel file using C?

hi.. i have the next question: i need to read an excel file (xls) using a C program. Is that possible? how can i do that? please, any idea thanks (6 Replies)
Discussion started by: DebianJ
6 Replies
Login or Register to Ask a Question
OLE::Storage_Lite(3pm)					User Contributed Perl Documentation				    OLE::Storage_Lite(3pm)

NAME
OLE::Storage_Lite - Simple Class for OLE document interface. SYNOPSIS
use OLE::Storage_Lite; # Initialize. # From a file my $oOl = OLE::Storage_Lite->new("some.xls"); # From a filehandle object use IO::File; my $oIo = new IO::File; $oIo->open("<iofile.xls"); binmode($oIo); my $oOl = OLE::Storage_Lite->new($oFile); # Read data my $oPps = $oOl->getPpsTree(1); # Save Data # To a File $oPps->save("kaba.xls"); #kaba.xls $oPps->save('-'); #STDOUT # To a filehandle object my $oIo = new IO::File; $oIo->open(">iofile.xls"); bimode($oIo); $oPps->save($oIo); DESCRIPTION
OLE::Storage_Lite allows you to read and write an OLE structured file. OLE::Storage_Lite::PPS is a class representing PPS. OLE::Storage_Lite::PPS::Root, OLE::Storage_Lite::PPS::File and OLE::Storage_Lite::PPS::Dir are subclasses of OLE::Storage_Lite::PPS. new() Constructor. $oOle = OLE::Storage_Lite->new($sFile); Creates a OLE::Storage_Lite object for $sFile. $sFile must be a correct file name. The "new()" constructor also accepts a valid filehandle. Remember to "binmode()" the filehandle first. getPpsTree() $oPpsRoot = $oOle->getPpsTree([$bData]); Returns PPS as an OLE::Storage_Lite::PPS::Root object. Other PPS objects will be included as its children. If $bData is true, the objects will have data in the file. getPpsSearch() $oPpsRoot = $oOle->getPpsTree($raName [, $bData][, $iCase] ); Returns PPSs as OLE::Storage_Lite::PPS objects that has the name specified in $raName array. If $bData is true, the objects will have data in the file. If $iCase is true, search is case insensitive. getNthPps() $oPpsRoot = $oOle->getNthPps($iNth [, $bData]); Returns PPS as "OLE::Storage_Lite::PPS" object specified number $iNth. If $bData is true, the objects will have data in the file. Asc2Ucs() $sUcs2 = OLE::Storage_Lite::Asc2Ucs($sAsc>); Utility function. Just adds 0x00 after every characters in $sAsc. Ucs2Asc() $sAsc = OLE::Storage_Lite::Ucs2Asc($sUcs2); Utility function. Just deletes 0x00 after words in $sUcs. OLE
::Storage_Lite::PPS OLE::Storage_Lite::PPS has these properties: No Order number in saving. Name Its name in UCS2 (a.k.a Unicode). Type Its type (1:Dir, 2:File (Data), 5: Root) PrevPps Previous pps (as No) NextPps Next pps (as No) DirPps Dir pps (as No). Time1st Timestamp 1st in array ref as similar fomat of localtime. Time2nd Timestamp 2nd in array ref as similar fomat of localtime. StartBlock Start block number Size Size of the pps Data Its data Child Its child PPSs in array ref OLE
::Storage_Lite::PPS::Root OLE::Storage_Lite::PPS::Root has 2 methods. new() $oRoot = OLE::Storage_Lite::PPS::Root->new( $raTime1st, $raTime2nd, $raChild); Constructor. $raTime1st, $raTime2nd are array refs with ($iSec, $iMin, $iHour, $iDay, $iMon, $iYear). $iSec means seconds, $iMin means minutes. $iHour means hours. $iDay means day. $iMon is month -1. $iYear is year - 1900. $raChild is a array ref of children PPSs. save() $oRoot = $oRoot>->save( $sFile, $bNoAs); Saves information into $sFile. If $sFile is '-', this will use STDOUT. The "new()" constructor also accepts a valid filehandle. Remember to "binmode()" the filehandle first. If $bNoAs is defined, this function will use the No of PPSs for saving order. If $bNoAs is undefined, this will calculate PPS saving order. OLE
::Storage_Lite::PPS::Dir OLE::Storage_Lite::PPS::Dir has 1 method. new() $oRoot = OLE::Storage_Lite::PPS::Dir->new( $sName, [, $raTime1st] [, $raTime2nd] [, $raChild>]); Constructor. $sName is a name of the PPS. $raTime1st, $raTime2nd is a array ref as ($iSec, $iMin, $iHour, $iDay, $iMon, $iYear). $iSec means seconds, $iMin means minutes. $iHour means hours. $iDay means day. $iMon is month -1. $iYear is year - 1900. $raChild is a array ref of children PPSs. OLE
::Storage_Lite::PPS::File OLE::Storage_Lite::PPS::File has 3 method. new $oRoot = OLE::Storage_Lite::PPS::File->new($sName, $sData); $sName is name of the PPS. $sData is data of the PPS. newFile() $oRoot = OLE::Storage_Lite::PPS::File->newFile($sName, $sFile); This function makes to use file handle for geting and storing data. $sName is name of the PPS. If $sFile is scalar, it assumes that is a filename. If $sFile is an IO::Handle object, it uses that specified handle. If $sFile is undef or '', it uses temporary file. CAUTION: Take care $sFile will be updated by "append" method. So if you want to use IO::Handle and append a data to it, you should open the handle with "r+". append() $oRoot = $oPps->append($sData); appends specified data to that PPS. $sData is appending data for that PPS. CAUTION
A saved file with VBA (a.k.a Macros) by this module will not work correctly. However modules can get the same information from the file, the file occurs a error in application(Word, Excel ...). DEPRECATED FEATURES
Older version of "OLE::Storage_Lite" autovivified a scalar ref in the "new()" constructors into a scalar filehandle. This functionality is still there for backwards compatibility but it is highly recommended that you do not use it. Instead create a filehandle (scalar or otherwise) and pass that in. COPYRIGHT
The OLE::Storage_Lite module is Copyright (c) 2000,2001 Kawai Takanori. Japan. All rights reserved. You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. ACKNOWLEDGEMENTS
First of all, I would like to acknowledge to Martin Schwartz and his module OLE::Storage. AUTHOR
Kawai Takanori kwitknr@cpan.org This module is currently maintained by John McNamara jmcnamara@cpan.org SEE ALSO
OLE::Storage Documentation for the OLE Compound document has been released by Microsoft under the Open Specification Promise. See http://www.microsoft.com/interop/docs/supportingtechnologies.mspx The Digital Imaging Group have also detailed the OLE format in the JPEG2000 specification: see Appendix A of http://www.i3a.org/pdf/wg1n1017.pdf perl v5.10.1 2009-11-24 OLE::Storage_Lite(3pm)