fc2ブログ

Notesのプログラムディレクトリを取得する

 NotesのデータディレクトリはNotes.iniから取ればいいと思うのですが、プログラムディレクトリは取得する何かいい方法はあるのでしょうか?

こういうLotusScriptのステートメントとか関数ってなかったっけ?と思ったのですが見つからなかったのでこんなのを作ってみました。レジストリから取得しています。

なので、複数端末を入れているような環境では正しく動かないとは思いますが簡易な方法としてはいいのではないでしょうか。

これも簡単なコードですが、WSHオブジェクトを呼び出してレジストリ値を取得するサンプルとしても流用出来るのではないかと思います。




Sub Click(Source As Button)
' C:\Lotus\Notes\ を返します
Msgbox GetProgramDir
End Sub

Function GetProgramDir() As String
GetProgramDir = ""
Set objWshShell = CreateObject("WScript.Shell")
strValue = objWshShell.RegRead("HKLM\SOFTWARE\Lotus\Notes\Path")

If Right(strValue,1) <> "\" Then
strValue = strValue & "\"
End If

GetProgramDir = strValue
End Function



コメント

非公開コメント

Re: Notesのプログラムディレクトリを取得する

いつも拝見させていただいております。

notes.iniの「NotesProgram」ではいけないのでしょうか?
Administratorヘルプには見あたりませんでしたが、
こちらのURLには少なくとも、サーバのプログラムディレクトリは取得できると書いてあります。
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/731361

私のノーツクライアント8.5にもこのパラメータはありました。

ちょっと気になりましたので。

Notes.ini を取得する場合

ありがとうございます。
NotesProgram 行はクライアントだと無い場合も多かったのでこういう方法を使っています。
エントリがある場合にはご利用になっていいのではないでしょうか。
少なくとも、Notes.ini にDirectory行が無いと正しく動きませんが、NotesProgram行は無くても動くパラメータなので必ずある、と仮定できないのではないかな、と思ったのがNotes.ini 以外の方法を考えていた理由です。