+ Reply to Thread
Results 1 to 5 of 5

Problems with reading / writing ini-file

  1. #1
    Youp
    Guest

    Problems with reading / writing ini-file

    Hi,

    I have an Excel workbook that uses an ini-file.

    The principle I'm using is as follows:
    There is a basic sheet that is used to create calculations. The user always
    opens the basis sheet when creating new calculations. When opening this file,
    it is checked whether a certain ini-file is present. If not the data for this
    file has to be entered first (via a form that is called from the sheet). Some
    things that are stored in this ini-file are the file location for storing the
    calculations and a sequence number that is used for creating file-names for
    the calculation.

    When the user is ready with his calculation, the user presses a button in
    the sheet. This will do the following: a unique name for the calculation is
    created (using the seq. number from the ini-file); the calculation is save
    using this name; the sequence number in the ini-file is increased).

    For reading / writing the ini-file I use:
    - getWindowsDirectory for determining the Windows directory
    - WritePrivateProfileString/GetPrivateProfileString for writing and reading
    the ini-file.

    For quite some time this has worked without any problems. On most systems I
    have it still works (i.e. XP Home SP2 with Excel 2003 SP2; XP Pro SP2 with
    Excel 2000 SP3). However a user has a laptop (XP Pro SP2 + Excel 2003 SP2)
    where these functions do not work!!
    The function getWindowsDirectory returns no result and the functions
    WritePrivateProfileString and GetPrivataProfileString do not work correctly.

    Does anyone know (the cause of) this problem?
    How could I solve this issue?

    I'm looking for some general solution that will work on all the different
    environments.

    Thanx in advance
    Youp



  2. #2
    Bob Phillips
    Guest

    Re: Problems with reading / writing ini-file

    Does your code look like

    Dim sDir As String
    Dim cLength As Long

    sDir = Space(255)
    cLength = GetSystemDirectory(sDir, 255)
    sDir = Left(sDir, cLength)
    Debug.Print "System directory path: "; sDir


    --

    HTH

    Bob Phillips

    (remove nothere from the email address if mailing direct)

    "Youp" <[email protected]> wrote in message
    news:[email protected]...
    > Hi,
    >
    > I have an Excel workbook that uses an ini-file.
    >
    > The principle I'm using is as follows:
    > There is a basic sheet that is used to create calculations. The user

    always
    > opens the basis sheet when creating new calculations. When opening this

    file,
    > it is checked whether a certain ini-file is present. If not the data for

    this
    > file has to be entered first (via a form that is called from the sheet).

    Some
    > things that are stored in this ini-file are the file location for storing

    the
    > calculations and a sequence number that is used for creating file-names

    for
    > the calculation.
    >
    > When the user is ready with his calculation, the user presses a button in
    > the sheet. This will do the following: a unique name for the calculation

    is
    > created (using the seq. number from the ini-file); the calculation is save
    > using this name; the sequence number in the ini-file is increased).
    >
    > For reading / writing the ini-file I use:
    > - getWindowsDirectory for determining the Windows directory
    > - WritePrivateProfileString/GetPrivateProfileString for writing and

    reading
    > the ini-file.
    >
    > For quite some time this has worked without any problems. On most systems

    I
    > have it still works (i.e. XP Home SP2 with Excel 2003 SP2; XP Pro SP2 with
    > Excel 2000 SP3). However a user has a laptop (XP Pro SP2 + Excel 2003 SP2)
    > where these functions do not work!!
    > The function getWindowsDirectory returns no result and the functions
    > WritePrivateProfileString and GetPrivataProfileString do not work

    correctly.
    >
    > Does anyone know (the cause of) this problem?
    > How could I solve this issue?
    >
    > I'm looking for some general solution that will work on all the different
    > environments.
    >
    > Thanx in advance
    > Youp
    >
    >




  3. #3
    Youp
    Guest

    Re: Problems with reading / writing ini-file

    Hi,

    This is the code that I currently use:

    lngx = apiGetWindowsDirectory(strIniFile, Len(strIniFile))
    If lngx <> 0 Then
    GetIniFileName = Left(strIniFile, lngx) & "\" & "PTPT.ini"
    Else
    GetIniFileName = Empty
    End If

    So the principle is the same as in your example.

    Youp


    "Bob Phillips" wrote:

    > Does your code look like
    >
    > Dim sDir As String
    > Dim cLength As Long
    >
    > sDir = Space(255)
    > cLength = GetSystemDirectory(sDir, 255)
    > sDir = Left(sDir, cLength)
    > Debug.Print "System directory path: "; sDir
    >
    >
    > --
    >
    > HTH
    >
    > Bob Phillips
    >
    > (remove nothere from the email address if mailing direct)
    >
    > "Youp" <[email protected]> wrote in message
    > news:[email protected]...
    > > Hi,
    > >
    > > I have an Excel workbook that uses an ini-file.
    > >
    > > The principle I'm using is as follows:
    > > There is a basic sheet that is used to create calculations. The user

    > always
    > > opens the basis sheet when creating new calculations. When opening this

    > file,
    > > it is checked whether a certain ini-file is present. If not the data for

    > this
    > > file has to be entered first (via a form that is called from the sheet).

    > Some
    > > things that are stored in this ini-file are the file location for storing

    > the
    > > calculations and a sequence number that is used for creating file-names

    > for
    > > the calculation.
    > >
    > > When the user is ready with his calculation, the user presses a button in
    > > the sheet. This will do the following: a unique name for the calculation

    > is
    > > created (using the seq. number from the ini-file); the calculation is save
    > > using this name; the sequence number in the ini-file is increased).
    > >
    > > For reading / writing the ini-file I use:
    > > - getWindowsDirectory for determining the Windows directory
    > > - WritePrivateProfileString/GetPrivateProfileString for writing and

    > reading
    > > the ini-file.
    > >
    > > For quite some time this has worked without any problems. On most systems

    > I
    > > have it still works (i.e. XP Home SP2 with Excel 2003 SP2; XP Pro SP2 with
    > > Excel 2000 SP3). However a user has a laptop (XP Pro SP2 + Excel 2003 SP2)
    > > where these functions do not work!!
    > > The function getWindowsDirectory returns no result and the functions
    > > WritePrivateProfileString and GetPrivataProfileString do not work

    > correctly.
    > >
    > > Does anyone know (the cause of) this problem?
    > > How could I solve this issue?
    > >
    > > I'm looking for some general solution that will work on all the different
    > > environments.
    > >
    > > Thanx in advance
    > > Youp
    > >
    > >

    >
    >
    >


  4. #4
    Bob Phillips
    Guest

    Re: Problems with reading / writing ini-file

    What about apiGetWindowsDirectory?

    --

    HTH

    Bob Phillips

    (remove nothere from the email address if mailing direct)

    "Youp" <[email protected]> wrote in message
    news:[email protected]...
    > Hi,
    >
    > This is the code that I currently use:
    >
    > lngx = apiGetWindowsDirectory(strIniFile, Len(strIniFile))
    > If lngx <> 0 Then
    > GetIniFileName = Left(strIniFile, lngx) & "\" & "PTPT.ini"
    > Else
    > GetIniFileName = Empty
    > End If
    >
    > So the principle is the same as in your example.
    >
    > Youp
    >
    >
    > "Bob Phillips" wrote:
    >
    > > Does your code look like
    > >
    > > Dim sDir As String
    > > Dim cLength As Long
    > >
    > > sDir = Space(255)
    > > cLength = GetSystemDirectory(sDir, 255)
    > > sDir = Left(sDir, cLength)
    > > Debug.Print "System directory path: "; sDir
    > >
    > >
    > > --
    > >
    > > HTH
    > >
    > > Bob Phillips
    > >
    > > (remove nothere from the email address if mailing direct)
    > >
    > > "Youp" <[email protected]> wrote in message
    > > news:[email protected]...
    > > > Hi,
    > > >
    > > > I have an Excel workbook that uses an ini-file.
    > > >
    > > > The principle I'm using is as follows:
    > > > There is a basic sheet that is used to create calculations. The user

    > > always
    > > > opens the basis sheet when creating new calculations. When opening

    this
    > > file,
    > > > it is checked whether a certain ini-file is present. If not the data

    for
    > > this
    > > > file has to be entered first (via a form that is called from the

    sheet).
    > > Some
    > > > things that are stored in this ini-file are the file location for

    storing
    > > the
    > > > calculations and a sequence number that is used for creating

    file-names
    > > for
    > > > the calculation.
    > > >
    > > > When the user is ready with his calculation, the user presses a button

    in
    > > > the sheet. This will do the following: a unique name for the

    calculation
    > > is
    > > > created (using the seq. number from the ini-file); the calculation is

    save
    > > > using this name; the sequence number in the ini-file is increased).
    > > >
    > > > For reading / writing the ini-file I use:
    > > > - getWindowsDirectory for determining the Windows directory
    > > > - WritePrivateProfileString/GetPrivateProfileString for writing and

    > > reading
    > > > the ini-file.
    > > >
    > > > For quite some time this has worked without any problems. On most

    systems
    > > I
    > > > have it still works (i.e. XP Home SP2 with Excel 2003 SP2; XP Pro SP2

    with
    > > > Excel 2000 SP3). However a user has a laptop (XP Pro SP2 + Excel 2003

    SP2)
    > > > where these functions do not work!!
    > > > The function getWindowsDirectory returns no result and the functions
    > > > WritePrivateProfileString and GetPrivataProfileString do not work

    > > correctly.
    > > >
    > > > Does anyone know (the cause of) this problem?
    > > > How could I solve this issue?
    > > >
    > > > I'm looking for some general solution that will work on all the

    different
    > > > environments.
    > > >
    > > > Thanx in advance
    > > > Youp
    > > >
    > > >

    > >
    > >
    > >




  5. #5
    Youp
    Guest

    Re: Problems with reading / writing ini-file

    It's declared as follows:

    Private Declare Function apiGetWindowsDirectory& Lib "kernel32" Alias
    "GetWindowsDirectoryA" _
    (ByVal lpbuffer As String, ByVal nSize As Long)

    I tried the function you're mentioning on my XP Pro / Excel 2000 environment
    (which is working fine with the above function) and this results in an error
    (Microsoft Excel for Windows has encountered a problem and needs to close...).

    Youp




    "Bob Phillips" wrote:

    > What about apiGetWindowsDirectory?
    >
    > --
    >
    > HTH
    >
    > Bob Phillips
    >
    > (remove nothere from the email address if mailing direct)
    >
    > "Youp" <[email protected]> wrote in message
    > news:[email protected]...
    > > Hi,
    > >
    > > This is the code that I currently use:
    > >
    > > lngx = apiGetWindowsDirectory(strIniFile, Len(strIniFile))
    > > If lngx <> 0 Then
    > > GetIniFileName = Left(strIniFile, lngx) & "\" & "PTPT.ini"
    > > Else
    > > GetIniFileName = Empty
    > > End If
    > >
    > > So the principle is the same as in your example.
    > >
    > > Youp
    > >
    > >
    > > "Bob Phillips" wrote:
    > >
    > > > Does your code look like
    > > >
    > > > Dim sDir As String
    > > > Dim cLength As Long
    > > >
    > > > sDir = Space(255)
    > > > cLength = GetSystemDirectory(sDir, 255)
    > > > sDir = Left(sDir, cLength)
    > > > Debug.Print "System directory path: "; sDir
    > > >
    > > >
    > > > --
    > > >
    > > > HTH
    > > >
    > > > Bob Phillips
    > > >
    > > > (remove nothere from the email address if mailing direct)
    > > >
    > > > "Youp" <[email protected]> wrote in message
    > > > news:[email protected]...
    > > > > Hi,
    > > > >
    > > > > I have an Excel workbook that uses an ini-file.
    > > > >
    > > > > The principle I'm using is as follows:
    > > > > There is a basic sheet that is used to create calculations. The user
    > > > always
    > > > > opens the basis sheet when creating new calculations. When opening

    > this
    > > > file,
    > > > > it is checked whether a certain ini-file is present. If not the data

    > for
    > > > this
    > > > > file has to be entered first (via a form that is called from the

    > sheet).
    > > > Some
    > > > > things that are stored in this ini-file are the file location for

    > storing
    > > > the
    > > > > calculations and a sequence number that is used for creating

    > file-names
    > > > for
    > > > > the calculation.
    > > > >
    > > > > When the user is ready with his calculation, the user presses a button

    > in
    > > > > the sheet. This will do the following: a unique name for the

    > calculation
    > > > is
    > > > > created (using the seq. number from the ini-file); the calculation is

    > save
    > > > > using this name; the sequence number in the ini-file is increased).
    > > > >
    > > > > For reading / writing the ini-file I use:
    > > > > - getWindowsDirectory for determining the Windows directory
    > > > > - WritePrivateProfileString/GetPrivateProfileString for writing and
    > > > reading
    > > > > the ini-file.
    > > > >
    > > > > For quite some time this has worked without any problems. On most

    > systems
    > > > I
    > > > > have it still works (i.e. XP Home SP2 with Excel 2003 SP2; XP Pro SP2

    > with
    > > > > Excel 2000 SP3). However a user has a laptop (XP Pro SP2 + Excel 2003

    > SP2)
    > > > > where these functions do not work!!
    > > > > The function getWindowsDirectory returns no result and the functions
    > > > > WritePrivateProfileString and GetPrivataProfileString do not work
    > > > correctly.
    > > > >
    > > > > Does anyone know (the cause of) this problem?
    > > > > How could I solve this issue?
    > > > >
    > > > > I'm looking for some general solution that will work on all the

    > different
    > > > > environments.
    > > > >
    > > > > Thanx in advance
    > > > > Youp
    > > > >
    > > > >
    > > >
    > > >
    > > >

    >
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1