Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Problem Writing macros in an Excel File

by davies (Parson)
on Feb 03, 2014 at 11:32 UTC ( #1073182=note: print w/replies, xml ) Need Help??

in reply to Problem Writing macros in an Excel File

Spreadsheet:ParseExcel and its comrades in arms can't access the macro facilities of Excel, so macros cannot be written when saving, whether with SaveAs or anything else. Win32::OLE works with an installed copy of Excel and can do pretty well everything that Excel can, including saving with existing macros or even editing them.


John Davies

Update: the comment in the OP about using CentOS is itself an update made after I had posted the above.

  • Comment on Re: Problem Writing macros in an Excel File

Replies are listed 'Best First'.
Re^2: Problem Writing macros in an Excel File
by Striker (Novice) on Feb 03, 2014 at 11:34 UTC

    But i am using CentOS.

      Then you may want to investigate the feasibility of automating Open/Libre Office.

      If, as you seem to be implying, centos precludes Excel (I've heard of centos vaguely but don't know what it is or does), then you can't run Excel macros anyway, so why would you worry about them being removed? If you want to run Excel macros, you need a copy of Excel (and that includes user-defined functions, which are a species of macro). If you have that, you can do what you like with Win32::OLE, but not with Spreadsheet::whatever. If you are generating Excel files for other people and want to save macros, you must have Excel, which you can automate with Win32::OLE. Either that, or write your own module to save Excel files with macros. You will have to understand the Excel file format extremely well and have quite a bit of time. I have discussed this with John McNamara, but I don't know enough Perl and, like him, am working on other projects. It's not impossible, but it's likely to be far easier to get yourself a dual boot system with Excel. Another option is one I have used in several places. Get hold of a gash machine that's going to the skip and, provided it has Losedows on it, commandeer it. Put Excel on if it's not already there, plus Perl. Then use that machine for stuff you need Excel to do and your main machine for everything else. If space is tight, get a KVM switch so you can put the gash machine on the floor & use the same peripherals.


      John Davies

        Thanks for the Reply

        CentOS is a Linux Distribution having Open Office. Its executing macros just as Microsoft Office Windows.

        Sorry my bad, I got confused earlier, Thanks for your help

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1073182]
[Discipulus]: good morning marto

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (9)
As of 2017-06-26 09:44 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (576 votes). Check out past polls.