xl2007 - Slow Macros Involving Graphics

G

Greg Wilson

BACKGROUND:

I developed an interactive Excel-based program for the engineering and
construction industries using xl2003. It is essentially a picture management
system. Developement time was roughly 100 hours. My latest project involves
exactly 840 pictures. I have been avoiding upgrading to xl2007 like the
plague.

PROBLEM:

The client has xl2007 and there were some compatibility issues. So I
installed the xl2007 trial version and fixed these issues. However, what I
can't fix is the extremely slow macro execution time. For example, I remapped
the arrow keys to move the pictures without having to select them first.
Using xl2003, holding down an arrow key caused the picture to *glide* in the
direction of the arrow key. In xl2007, the pictures move in slow, jerky
steps. Picture import and other macros take about 5 times as long to execute.

QUESTION:

I could only determine that MS is aware of the issue. Does anyone know if
and when this issue will be fixed? Or am I screwed?!

BTW, I am perfectly aware of screenupdating and LockWindowUpdate etc. These
have already been implemented.

Much appreciative of any information.

Greg Wilson
 
P

Peter T

Many actions are considerably slower in 2007, including working with Shapes.
In answer to your questions: No, Yes! Sometimes though optimizing code can
help considerably.

I doubt LockWindowUpdate helps with what you are doing, personally I
wouldn't risk using it unless absolutely necessary and only then with bullet
proof error handling.

Regards,
Peter T
 
M

Martin Brown

Greg said:
BACKGROUND:

I developed an interactive Excel-based program for the engineering and
construction industries using xl2003. It is essentially a picture management
system. Developement time was roughly 100 hours. My latest project involves
exactly 840 pictures. I have been avoiding upgrading to xl2007 like the
plague.

PROBLEM:

The client has xl2007 and there were some compatibility issues. So I
installed the xl2007 trial version and fixed these issues. However, what I
can't fix is the extremely slow macro execution time. For example, I remapped
the arrow keys to move the pictures without having to select them first.
Using xl2003, holding down an arrow key caused the picture to *glide* in the
direction of the arrow key. In xl2007, the pictures move in slow, jerky
steps. Picture import and other macros take about 5 times as long to execute.

QUESTION:

I could only determine that MS is aware of the issue. Does anyone know if
and when this issue will be fixed? Or am I screwed?!

I am afraid it is the latter. Unless there is some compelling reason for
the application to be inside Excel you might be better off redeveloping
from scratch on a less user hostile platform. Some of my calibration
graphs which on XL2003 took at most a couple of seconds with something
obviously happening now have to display an estimated time to completion
that can be 2-3 *minutes*. It was even slower before applying patches.
BTW, I am perfectly aware of screenupdating and LockWindowUpdate etc. These
have already been implemented.

Much appreciative of any information.

You might try other ways of getting the same desired effect in case one
of them is quicker. Also watch out for race conditions in the graphics
code. You can have code that works perfectly in the debugger and will
not run at full speed. XL2007 is a monumental cock-up. I advise folk to
stick with XL2003 if they actually want to get useful work done.

Let us pray 2010 will be better - it could hardly be worse.

Regards,
Martin Brown
 
G

Greg Wilson

Thank s to both of you for your time. Sorry for the getting back late. The
power got knocked out last night and just came back on.

As Martin says, I guess we can pray that xl2010 will be better.

FWIW, I also noticed that the grapchics are a little different. Some lines
and shapes get shifted by a about a pixel. My project involves several
detailed sketches. This is yet another joy.

I find that LockWindowUpdate works better for eliminating flicker on
workbook_open. It is also faster and smoother when importing data from text
files, which I like to use as databases. It has its place. But you're right
that it doesn't help in this case.

Best regards to both of you.

Greg
 

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