Custom Addin Reference Crashes Excel

S

sdwalker

I have a very challenging issue for you. I have created a custom addin that
contains common code that can be used across many workbooks. I add a
reference to the addin in my workbook and the 1st time that it calls the
addin, things run fine. If I then save the workbook, reopen and call the
addin again, Excel crashes. My issue can be duplicated by doing the
following.

1) Close any other workbooks in Excel, so that you don't lose anything.
2) Create an addin with a single function ... say ...
Public Function ReturnString() as String
ReturnString = "Test"
End Function
3) Save this addin locally
4) Create a new workbook
5) In the Visual Basic Editor, add a reference to this addin
6) Create a button on Sheet1 and have it point to code that says ...
Range("A1").value = MyAddin.ReturnString
7) Save the workbook, click the button and everything works fine.
8) Now, delete the text from cell A1, save the workbook and close Excel.
9) Reopen the workbook and click the button.
10) Observe Excel crash

Why is this happening?

Would anyone be willing to take this on? It will take about 5-10 minutes to
duplicate. It is killing my coworkers and me ... we can't figure it out.

Thanks in advance,

Scott
 
J

Jim Cone

Load the add-in from Tools (menu) | Add-Ins by check marking the add-in name.
If you do that the add-in will be opened when Excel is opened.
That will probably eliminate your crash problem.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)




"sdwalker"
wrote in message
I have a very challenging issue for you. I have created a custom addin that
contains common code that can be used across many workbooks. I add a
reference to the addin in my workbook and the 1st time that it calls the
addin, things run fine. If I then save the workbook, reopen and call the
addin again, Excel crashes. My issue can be duplicated by doing the
following.

1) Close any other workbooks in Excel, so that you don't lose anything.
2) Create an addin with a single function ... say ...
Public Function ReturnString() as String
ReturnString = "Test"
End Function
3) Save this addin locally
4) Create a new workbook
5) In the Visual Basic Editor, add a reference to this addin
6) Create a button on Sheet1 and have it point to code that says ...
Range("A1").value = MyAddin.ReturnString
7) Save the workbook, click the button and everything works fine.
8) Now, delete the text from cell A1, save the workbook and close Excel.
9) Reopen the workbook and click the button.
10) Observe Excel crash

Why is this happening?

Would anyone be willing to take this on? It will take about 5-10 minutes to
duplicate. It is killing my coworkers and me ... we can't figure it out.

Thanks in advance,

Scott
 
P

Peter T

Pretty sure I replicated all your instructions, no problems, no crash, all
worked as expected.

Did you rename your addin's project name from default "VBAProject", if not
maybe that is causing some confusion with similarly named projects

Regards,
Peter T
 
S

sdwalker

Peter. Thanks for trying. We did use a different project name, but still
had the problem.

Thanks again,

Scott
 
S

sdwalker

Jim. Thanks for the reply!!

We thought we tried that, but we'll do it again. We found a workaround for
it. If we add a line of code to the Workbook_Open event of the ADD-IN (not
the spreadsheet), then everything works fine. We just added a DoEvents
statement and that did it.

I think you're on to something regarding the add-in being opened when Excel
opens. We were trying to get away from each user having to individually add
the add-in to their instance of Excel.

Again, I think we have a workaround, but we're not exactly sure WHY it's
working.

Thanks again for your assistance!!

sdwalker
 
P

Peter T

I confess I am slightly curious as to why Jim's idea might solve the
problem, or why your addition of DoEvents appears to help

Normally when a reference to FileB has been added to FileA, when FileA opens
FileB will automatically open (if not already open as it might be if an
installed Addin) assuming of course the fileB can be found. At least that's
how it works for me.

Regards,
Peter T
 
A

Alan124

I confess I am slightly curious as to why Jim's idea might solve the
problem, or why your addition of DoEvents appears to help

Normally when a reference to FileB has been added to FileA, when FileA opens
FileB will automatically open (if not already open as it might be if an
installed Addin) assuming of course the fileB can be found. At least that's
how it works for me.

Regards,
Peter T










- Show quoted text -

Hi,

Did this problem lead to corruption of your excel file? If so, you may
try Advanced Excel Repair at http://www.datanumen.com/aer/ This tool
is rather useful in salvaging damaged Excel xls files.

Hope this helps.

Alan
 

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