まりふのひと

mdbの起動に時間が掛かるのは常に検索していたため

柳井E社の会員管理.mdb。「起動にブチ時間が掛かる」と言うので原因を調べた。

※ 原因
  1. 起動時に Excel.exe の フルパス を検索しているため。
    • 検索には、WindowsAPI の "SearchTreeForFile" (my関数:Get_FullPathForFile())を使用。
  2. 一度検索するとキャッシュされ、次からは早いのでは?(表現がおかしいか)

当初は、Excel のフルパスをイニファイルに持つ予定であったが、開発元と使用者のパソコン環境の違いがあるので、検索することにしたもの。

※ 対策
  1. Excel のフルパスをイニファイルに持つことにする。
  2. 起動時イニファイルを WindowsAPI "GetPrivateProfileString" (my関数:get_iniString())で読んでフルパスを取得する。
  3. 取得したフルパスが "" だった時、または dir(フルパス) で "" が返って来た時は、メッセージを出して、WindowsAPI の "SearchTreeForFile" で検索する。
    • その後、WindowsAPI "WritePrivateProfileString" (my関数:put_iniString())でフルパスを書き出しておく。