INI File
You are correct NichHK. I believe Pearson's site has a "white
paper"/"technical brief" on this very topic.
Christmas May
"NickHK" wrote:
Bob,
I think the OP's referring to Excel's hidden NameSpace, rather than hidden
name.
As I see it you can use that, but you need understand what you are doing and
why. If there's a suitable, more standard way, use it.
NickHK
"Bob Phillips" wrote in message
...
Nothing wrong with Hidden names. Visible is a property of the name object,
so it is supported. But you still have to have a workbook to hold that
name.
As for INI files you test for a successful action, both in opening the
file,
and retrieving the data. You would have to do that for a hidden name, a
value on a hidden (maybe non-existent) spreadsheet.
--
HTH
Bob Phillips
(replace somewhere in email address with gmail if mailing direct)
"Christmas May" wrote in message
...
I'm attempting to store a variable for reference when different
workbooks
open. I'm aware of the following options
Hidden names: I believe this to be an undocumented/unsupported feature
which may be unstable or no longer available in future releases. (Are
there
"non-hidden" names?)
Excel worksheet cell (hidden worksheet, hidden workbook, personal.xls,
etc.)
Add-in: Not really sure of advantages/disadvantages?
INI file:
I would actually prefer to used the INI file if not only because other
applications could access the information. I was under the impression
that
an INI file was simply a text file. I opened c:\windows\win.ini and it
did
appear to be a simple text file of variables and their values. However,
the
following code retrieved a variable and it's value that doesn't appear
to
be
in the INI file? Any ideas what happens if you try to retrieve a value
from
an INI file that doesn't exist. For example, if I provide a co-worker
with
the .xls file but forget to provide them with the INI file what happens
when
the code runs?
Private Declare Function GetPrivateProfileString _
Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As String, _
ByVal lpDefault As String, ByVal lpReturnedString As String, _
ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Sub readFromINI()
Dim sFileName As String, sHeader As String, sKey As String
Dim buf As String * 256
Dim length As Long
sFileName = "C:\WINDOWS\WIN.INI"
sHeader = "intl"
sKey = "sCountry"
length = GetPrivateProfileString( _
sHeader, sKey, "<no value", _
buf, Len(buf), sFileName)
MsgBox Left$(buf, length)
End Sub
Thanks in advance,
Christmas May
|