File size gets huge on photo insert

M

mooresk257

I have a picture box with the following code:

Private Sub Image1_Click()

FileToOpen = Application.GetOpenFilename( _
"All Files (*.jpg),*.jpg,(*.bmp),*.bmp")
If FileToOpen <> False Then
Worksheets("Sheet1").OLEObjects("Image1").Object.Picture _
= LoadPicture(FileToOpen)
End If

End Sub

The file contains four sheets, and has a file size of 224 KB. When I insert
a photo with a file size of 129 KB into the photobox and save the Excel file,
the Excel file size balloons to 4.00 MB. If I insert a second photo, it goes
up over 9 MB.

Anybody know what is causing this, and how can I fix it?

Thanks!
 
M

Martin Brown

mooresk257 said:
I have a picture box with the following code:

Private Sub Image1_Click()

FileToOpen = Application.GetOpenFilename( _
"All Files (*.jpg),*.jpg,(*.bmp),*.bmp")
If FileToOpen <> False Then
Worksheets("Sheet1").OLEObjects("Image1").Object.Picture _
= LoadPicture(FileToOpen)
End If

End Sub

The file contains four sheets, and has a file size of 224 KB. When I insert
a photo with a file size of 129 KB into the photobox and save the Excel file,
the Excel file size balloons to 4.00 MB. If I insert a second photo, it goes
up over 9 MB.

Anybody know what is causing this, and how can I fix it?

I have seen this before in some versions of Word and Excel. The problem
seems to arise only when you load an image in a particular way onto a
preexisting image location. It generates persistent orphanned OLE
metafile resources which are huge. The worst one I ever saw was over
60MB in size and contained just 4MB of valid image data. Documents that
have been editted repeatedly with more than one version of Office seem
to be the most often afflicted.

There is a misleading MSKB entry that describes the problem. I can't
find the right one at the moment, but the one describing a related
PowerPoint to Word conversion OLE overhead is closely related to your
problem.

http://support.microsoft.com/kb/912676/en-us

Regards,
Martin Brown
 
M

mooresk257

I've compressed the image down to 23 KB, and file size still jumps from 233
KB to 4 MB on insert.
 
M

mooresk257

That's interesting. I'm using form controls. I wonder if the problem is
specific to OLE form controls or if the same issue would occur with an
ActiveX control. I guess I'll experiment.

I'm new to VBA, and although I had a class on VB 6, that was a long time
ago...
 
M

Martin Brown

mooresk257 said:
That's interesting. I'm using form controls. I wonder if the problem is
specific to OLE form controls or if the same issue would occur with an
ActiveX control. I guess I'll experiment.

I'm new to VBA, and although I had a class on VB 6, that was a long time
ago...

Try doing it by hand and you will find that certain sequences cause this
huge size effect whereas others do not. In VBA it is much harder to
avoid having this problem - most permutations generate oversized files.


Regards,
Martin Brown
 

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