Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Persistent data in an Add-in

Hi,

Is it better to use a global variable or a cell in an add-ins worksheet to
store a value?

Using a global variable seems cleaner, but I'm concerned that the project
may get reset and the value would be lost.
Using a cell in a worksheet seems ugly, but so far seems to work for me.

Are there any hidden dangers in the latter approach?

Thank you,

Bura


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Persistent data in an Add-in

Bura,

How would an add-in project get reset?

Using a cell is bad (IMO) as it is encroaching on the user's domain (the
spreadsheet is his after all) and may get over-written by that user.

You could also consider workbook names as a storage device, the registry,
environment variables, or even a file.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Bura Tino" wrote in message
...
Hi,

Is it better to use a global variable or a cell in an add-ins worksheet to
store a value?

Using a global variable seems cleaner, but I'm concerned that the project
may get reset and the value would be lost.
Using a cell in a worksheet seems ugly, but so far seems to work for me.

Are there any hidden dangers in the latter approach?

Thank you,

Bura




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,624
Default Persistent data in an Add-in

???

A cell in an add-in's sheet belongs to the add-in. The user normally
would never see it, much less use it.

It's no more the user's domain than any other part of the add-in (though
to be fair, I certainly consider any add-in's code module part of *my*
domain!).

In article ,
"Bob Phillips" wrote:

Using a cell is bad (IMO) as it is encroaching on the user's domain (the
spreadsheet is his after all) and may get over-written by that user.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Persistent data in an Add-in

It think the original poster was speaking of a cell in an addin
Bob was speaking of a cell on the users worksheet
JE was back to the addin

--
Regards,
Tom Ogilvy

"JE McGimpsey" wrote in message
...
???

A cell in an add-in's sheet belongs to the add-in. The user normally
would never see it, much less use it.

It's no more the user's domain than any other part of the add-in (though
to be fair, I certainly consider any add-in's code module part of *my*
domain!).

In article ,
"Bob Phillips" wrote:

Using a cell is bad (IMO) as it is encroaching on the user's domain (the
spreadsheet is his after all) and may get over-written by that user.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,624
Default Persistent data in an Add-in

Ah...

In article ,
"Tom Ogilvy" wrote:

It think the original poster was speaking of a cell in an addin
Bob was speaking of a cell on the users worksheet
JE was back to the addin



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Persistent data in an Add-in


"Bob Phillips" wrote in message
...
Bura,

How would an add-in project get reset?


Should I take this comment as an indicaiton that projects don't get reset?
What if an error occurs?
I have a feeling that that may lead to a reset...


Using a cell is bad (IMO) as it is encroaching on the user's domain (the
spreadsheet is his after all) and may get over-written by that user.

You could also consider workbook names as a storage device, the registry,
environment variables, or even a file.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Bura Tino" wrote in message
...
Hi,

Is it better to use a global variable or a cell in an add-ins worksheet

to
store a value?

Using a global variable seems cleaner, but I'm concerned that the

project
may get reset and the value would be lost.
Using a cell in a worksheet seems ugly, but so far seems to work for me.

Are there any hidden dangers in the latter approach?

Thank you,

Bura






  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 44
Default Persistent data in an Add-in

"Bura Tino" wrote:
Should I take this comment as an indicaiton that projects don't get reset?
What if an error occurs?
I have a feeling that that may lead to a reset...


I have noticed the same behaviour.

Jens.
--
http://ManagedXLL.net/
Replace MSDN with my first name when replying to my email address!


  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 44
Default Persistent data in an Add-in

"Bura Tino" wrote:

Is it better to use a global variable or a cell in an add-ins worksheet to
store a value?


Since your other question was about C++ add-ins, you might be interested to
know that Excel has a hidden per-instance name space that is accessible to
DLLs only.

Jens.
--
http://ManagedXLL.net/
Replace MSDN with my first name when replying to my email address!


  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Persistent data in an Add-in


"Jens Thiel" wrote in message
...
"Bura Tino" wrote:

Is it better to use a global variable or a cell in an add-ins worksheet

to
store a value?


Since your other question was about C++ add-ins, you might be interested

to
know that Excel has a hidden per-instance name space that is accessible to
DLLs only.

Jens.



This is very interesting. Can you point me to more information?

http://ManagedXLL.net/
Replace MSDN with my first name when replying to my email address!





  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 44
Default Persistent data in an Add-in

"Bura Tino" wrote:

know that Excel has a hidden per-instance name space that is accessible

to
DLLs only.


This is very interesting. Can you point me to more information?


Use xlfSetName.

You can also persist binary data to workbooks in a hidden namespace.

Jens.

--
http://ManagedXLL.net/
Replace MSDN with my first name when replying to my email address!




  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Persistent data in an Add-in

Here is some information on them:

http://www.cpearson.com/excel/hidden.htm
Hidden Name Space In Excel

Written by Laurent Longre, hosted on Chip Pearson's site.

--
Regards,
Tom Ogilvy


"Bura Tino" wrote in message
...

"Jens Thiel" wrote in message
...
"Bura Tino" wrote:

Is it better to use a global variable or a cell in an add-ins

worksheet
to
store a value?


Since your other question was about C++ add-ins, you might be interested

to
know that Excel has a hidden per-instance name space that is accessible

to
DLLs only.

Jens.



This is very interesting. Can you point me to more information?

http://ManagedXLL.net/
Replace MSDN with my first name when replying to my email address!







  #12   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 162
Default Persistent data in an Add-in

Hi Bura Tino!

Storing a value in an Addin's worksheet?

I use this approach in the form of entering a UDF in uppercase in the
Addin's worksheet. It has a hidden advantage in that the case used for
entering the UDF then becomes the default case for that function. The
UDF can then emulates the inbuilt function approach whereby entering
lower case converts to uppercase. Otherwise Excel will use the case
used by the first use of a particular UDF in a particular Excel
Session.

Only trouble I have is that this approach appears to interrupt a
Workbook_Open event subroutine in a file that sits in XLSTART folder.

--
Regards
Norman Harker MVP (Excel)
Sydney, Australia


It is imperative that the patches provided by Microsoft in its April
Security Release be applied to Systems as soon as possible. The threat
of worms / viruses that exploit vulnerabilities addressed by these
patches is now high.
See:
http://www.microsoft.com/security/protect/


  #13   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 117
Default Persistent data in an Add-in

Hi Bura,
I believe global variables lose their value as soon as your code stops
running. Therefore, to maintain a variable between macros, I generally use
one of the 3 following approaches:
1. Save and retrieve it to/from the registry, if it is something that is
global across a lot of workbooks.
SaveSetting appname, section, key, setting
GetSetting(appname, section, key[, default])
2. If there are a lot of variables (several dozen or more), save them in a
separate workbook in a folder where your macro is saved, and use method #1
above to save the location of this workbook in the registry.
3. Save it in the user's workbook on a hidden worksheet. I generally add a
worksheet ("Scratch") to the template and use it to save all kinds of
constants and formulas to calculate labels for charts, etc. If your users
are running your macro on a workbook of their own that was not built from a
template that you provided, then methods #1 and #2 may be the only option.

I generally never make any changes at runtime to an add-in, since Excel
would then have to save the add-in every time that the user exits Excel. If
not done automatically, and the user is prompted to save and they say "No",
then the global variable is lost. Being prompted to save an add-in tends to
make a user think that they have been infected with a virus (since an add-in
is generally thought of as additional functionality, and everybody knows
that code is not supposed to change - unless it has been infected with a
virus, of course!).
--
Regards,
Bill


"Bura Tino" wrote in message
...
Hi,

Is it better to use a global variable or a cell in an add-ins worksheet to
store a value?

Using a global variable seems cleaner, but I'm concerned that the project
may get reset and the value would be lost.
Using a cell in a worksheet seems ugly, but so far seems to work for me.

Are there any hidden dangers in the latter approach?

Thank you,

Bura




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Excel ODBC driver created table/data not persistent Farid Z Excel Discussion (Misc queries) 2 May 19th 10 05:14 PM
Data Entry Online, Data Format, Data Conversion and Data EntryServices through Data Entry Outsourcing [email protected] Excel Discussion (Misc queries) 0 March 20th 08 12:45 PM
Persistent External File Links Vulch1968 Setting up and Configuration of Excel 1 April 28th 07 03:06 AM
How to Delete a persistent Toolbar? alainr Excel Discussion (Misc queries) 6 October 6th 05 04:29 PM
Persistent Excel toolbar Mohamed ABOU-ZAID Excel Programming 0 October 1st 03 04:45 PM


All times are GMT +1. The time now is 09:36 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"