New to COM (Excel). Need a little help.

M

Marc

Hi all,

I am trying to write an application where I need the ability to open
an Excel spreadsheet and do basic read/write, insert rows, and
hide/unhide rows. Using win32com I have been able to get the basics
down as well as some examples displaying how to simply read and write.

But the next step appears exponential. I haven never done anything in
VB, so any and all concepts and commands are completely foreign. I
have been digging through the VB help and also bought a book
specifically for Python and COM. But I don't really have time to learn
VB before I can finish my script.

Would there happen to be any pre-existing examples of the stuff I need
to do out there? Basically I need to do the things I listed above -
insert rows and columns and hide/unhide rows. I think with a few
examples of sheet manipulation I could figure out the rest.

Thanks ahead of time,
Marc
 
B

Bob Gailer

Hi all,

I am trying to write an application where I need the ability to open
an Excel spreadsheet and do basic read/write, insert rows, and
hide/unhide rows. Using win32com I have been able to get the basics
down as well as some examples displaying how to simply read and write.

But the next step appears exponential. I haven never done anything in
VB, so any and all concepts and commands are completely foreign. I
have been digging through the VB help and also bought a book
specifically for Python and COM. But I don't really have time to learn
VB before I can finish my script.

Would there happen to be any pre-existing examples of the stuff I need
to do out there? Basically I need to do the things I listed above -
insert rows and columns and hide/unhide rows. I think with a few
examples of sheet manipulation I could figure out the rest.

The Range object handles all of the above. I recommend examining the
various properties and methods of Range. One easy way to do this is
1 open the Excel VBA Window
2 press F2 to get the Object Browser
3 scroll the classes pane to Range then look at members insert, delete and
value.
4 Press F1 on any of these to see the help file and helpful examples.

Also look at Worksheet Classes Rows and Columns properties for Range
objects that span entire rows / columns

Assuming you have created a worksheet object (let's call it ws)

Reading & Writing (a review):((1.0, 2.0), (3.0, 4.0))

Hiding:
Insert/Delete

Enough?

Bob Gailer
(e-mail address removed)
303 442 2625
 
P

Peter Abel

Hi all,

I am trying to write an application where I need the ability to open
an Excel spreadsheet and do basic read/write, insert rows, and
hide/unhide rows. Using win32com I have been able to get the basics
down as well as some examples displaying how to simply read and write.

But the next step appears exponential. I haven never done anything in
VB, so any and all concepts and commands are completely foreign. I
have been digging through the VB help and also bought a book
specifically for Python and COM. But I don't really have time to learn
VB before I can finish my script.

Would there happen to be any pre-existing examples of the stuff I need
to do out there? Basically I need to do the things I listed above -
insert rows and columns and hide/unhide rows. I think with a few
examples of sheet manipulation I could figure out the rest.

Thanks ahead of time,
Marc

One trick is using Excel's Macro-Recorder to record all
you've done in Excel. After this you get the resulting macro
by Alt-F11 in the VBA-Editor.
You can copy the recorded methode-calls to Python by changing some
few things to Python-syntax.
Let's say you have reached the following point:

Now start Excel's Macro-Recorder and do want you want to do.
E.g. select row 4-9 and hide them.
Stop recording and see the VBA-result:
Rows("4:9").Select
Selection.EntireRow.Hidden = True
This will result in the following Python code:Et voila, line 4 to 9 are hidden
(provided that you got them unhided before in Excel).
Some days or weeks later when you have learned a little bit
about ??Microsoft's VBA-OOP-concept?? :) you will know that you
can code this shorter:
I hope you will likes this **LEARNING by RECORDING** :)

Regards
Peter
 
M

Marc

One other quick question. How do I close down the Excel Application?
After performing the commands:

x1App = win32com.client.dynamic.Dispatch('Excel.Application')
xlApp.Workbooks.Open(filename)

That fires up Excel which stays hidden unless I make it visible. I can
close the book and delete the COM object by doing the following:

xlBook.Close(SaveChanges=0)
del self.xlApp

But the Excel process is still running in the background. How do I
stop the Excel process? Leaving it running seems to screw up the
application the next time I run it.

Thanks again,
Marc
 
B

Bob Gailer

One other quick question. How do I close down the Excel Application?
After performing the commands:

x1App = win32com.client.dynamic.Dispatch('Excel.Application')
xlApp.Workbooks.Open(filename)

That fires up Excel which stays hidden unless I make it visible. I can
close the book and delete the COM object by doing the following:

xlBook.Close(SaveChanges=0)
del self.xlApp

But the Excel process is still running in the background. How do I
stop the Excel process? Leaving it running seems to screw up the
application the next time I run it.

Right. It does. Thank you Microsoft.
Try:
x!App.Quit()

Bob Gailer
(e-mail address removed)
303 442 2625
 

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

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,244
Members
46,838
Latest member
KandiceChi

Latest Threads

Top