• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Notesの「notes.ini」内の環境変数に関して)

Notesのnotes.ini内の環境変数に関する問題とは?

このQ&Aのポイント
  • Notesユーザーが人事異動なので、MailBoxのサーバが変わった場合に、新着メールのお知らせのPopUpが出ない時があります。ロケーションのサーバの変更は正しく行っているのですが、直りません。
  • notes.iniの環境変数に問題があるということが分かりました。しかし、手作業で修正するのはユーザーに負担がかかりますので、Notes DBを作り、Lotus Scriptで問題を解決したいと考えています。
  • notes.ini内に存在する環境変数「NewMailSeqNum」とその後ろに英数字が続く変数に関して、値を変更する方法や削除する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Lotus Script はもう 5年以上も触ってないのですが、ヘルプを読み返してみると「Environments」みたいに環境変数のコレクションを取得することができないんですね。 これが出来るんだったらコレクションの中身をループして名前の先頭 13文字が "NewMailSeqNum" の変数を取得できるのに・・・なんて考えてました。 そこで、VBScript によって Notes.ini を別のファイルに転記する方法を考えてみました。 転記する際に "NewMailSeqNum" で始まる行はスキップします。 適宜手直しして使ってみてください。 ただし自己責任でね。 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' FileSystemObject を使い、 ' Notes.ini の中身を一時ファイルに転記しつつ、 ' "NewMailSeqNum" セクションと ' "newMailSeqNum" + レプリカID セクションをスキップする。 ' オリジナル Notes.ini のファイル名を yyyymmddhhnnss + ".ini" に変更 ' 一時ファイルのファイル名を "Notes.ini" に変更 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Const targetPath = "C:\Lotus\Notes\" Const orgFileName = "Notes.ini" ' 一時ファイルのファイル名を決定 Dim tmpFileName tmpFileName = fso.GetTempName Dim orgIni ' Notes.ini を TextStream で開く Set orgIni = fso.OpenTextFile(targetPath & orgFileName, 1, False) Dim newIni ' 一時ファイルを TextStream で開く Set newIni = fso.OpenTextFile(targetPath & tmpFileName, 2, True) Dim lineString ' ファイルから読み込む 1行文字列のバッファ Do Until orgIni.AtEndOfStream lineString = orgIni.ReadLine ' "NewMailSeqNum" 以外のセクションを転記する If Left(lineString, 13) <> "NewMailSeqNum" Then newIni.WriteLine(lineString) End If Loop orgIni.Close newIni.Close ' オリジナルの Notes.ini を退避させるために、現在日時を取得 dim currentTime currentTime = Now() ' オリジナル Notes.ini のファイル名を変更 fso.GetFile(targetPath & orgFileName).Name = _ Right("0000" & Year(currentTime), 4) & _ Right("00" & Month(currentTime), 2) & _ Right("00" & Day(currentTime), 2) & _ Right("00" & Hour(currentTime), 2) & _ Right("00" & Minute(currentTime), 2) & _ Right("00" & Second(currentTime), 2) & _ ".ini" ' 一時ファイルのファイル名を "Notes.ini" に変更する fso.GetFile(targetPath & tmpFileName).Name = orgFileName

MASA_SHIBA
質問者

お礼

お忙しいところありがとうございます。 VBScriptでファイルを作成し、NotesDBの文書に 添付ファイルとして貼り付けて、そこからダブル クリックで実行するようにやったところ旨くいきました。 本当にありがとうございました。

関連するQ&A