ノーツ初心者です。

ユーザ名が保存されているフィールドがあり、そのフィールド内のユーザ名はアルファベットです。
このユーザ名から日本語名を表示するために、ユーザの別名をエージェントで取得したいのです。
式で取得する方法は分かるのですが、ロータススクリプトで実現したいのです。
よろしくお願いします。

A 回答 (1件)

1.先ず、ユーザ名が第1ソート列になっているビューを作ります。


2.このビューに対して目的のユーザ名で GetDocumentByKey関数を使って該当文書を取得します。
3.取得した文書のユーザの別名が入っているフィールドの値を取得します。

具体的には以下のようなスクリプトになります。
(関数の使い方等、記憶で書いてるのでヘルプを引いてくださいね)

sub sampleScript(userName as String)
dim session as New NotesSession
dim db as NotesDatabase
dim view as NotesView
dim doc as NotesDocument

set db = session.GetDatabse("サーバ名", "データベース名")
set view = db.GetView("ソートされたビュー")
set doc = view.GetDocumentByKey(userName)

MessageBox doc.別名フィールド名(0), 0, ""
end sub
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
大変参考になり、問題を解決する事が出来ました。

お礼日時:2001/06/26 16:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qユーザー名とPC名

こんにちは。

WinXP Proでユーザー名とPC名が違うのですが、PCを起動した時ユーザー名・パスワードを入力する画面では両方(ユーザー名・PC名)入れても起動します。

画面ではユーザー名と聞いてくるのにPC名でも大丈夫という現象です。

起動時に出てくる、確認画面で聞いてくるユーザー名はいったい何なんですか?
ユーザー名及びPC名と言う事なのですか?

下らない質問ですが宜しくお願いします。

Aベストアンサー

ユーザー名と、PC名というユーザー名のふたつユーザーアカウント作っちゃったということではないですか? コントロールパネルのユーザーとパスワードでも確認できますし、それぞれ、「マイドキュメント」の内容が違ったりしませんか。

PC名というのは、ネットワークで物理的にそのPCを特定するためのIDです。誰がログオンしていようが、たとえば経理のPCなのか総務のPCなのかというように。

Qロータスノーツのプログラミング

今度、ロータススクリプト(ノーツスクリプト)のプロジェクトに携わる事になりました。職場ではインターネット接続が制限されていて勝手が悪いので、書籍を入手しようと考えています。
ただとても高価で二の足を踏んでいます。
そこで教えていただきたいのですが、ノーツで開発をする仕事は件数的に多いのでしょうか。
また、プログラマとしてロータススクリプトが出来ることは"武器"になり得るのでしょうか?
今回限りで終わってしまう事になるならば書籍購入を見送ろうかとも思っています。

Aベストアンサー

ノーツはいまやマイノリティーですね。
グループウェア自体が必ずしも日本では必要性を理解
されていないのではないでしょうか?

lotusscriptは基本的にはvbですので、そちら系の
言語がわかっていればある程度理解できるとおもいます。
あとはクセさえつかめればHELPだけでもなんとかなるかと。

Qログイン時のユーザー名について

パソコンを立ち上げて、ログインする時のユーザー名についてです。

”ようこそ画面を使用する”にした場合は、そのアカウントを作成したユーザー名が出てきて、ログイン出来ます。

ユーザー名を変更出来るタイプ(Administrator等)で、ログインする場合は、パソコンにOSを入力した時のユーザー名が初期に出てきてしまいます。このタイプでログインする場合、各自で設定したユーザー名が、パソコンを立ち上げた時に、初めに出るようにしたいのですが、可能でしょうか?

【例】
・パソコン立ち上げ時の現状ユーザー名 Owner(※OSをインストールした時のユーザー名?)
・通常立ち上げ時に初めに出てきてもらいたいユーザー名 hatoyama

言葉だけで、大変わかりづらく申し訳ありませんが、教えて頂けますと助かります。よろしくお願い致します。

Aベストアンサー

結論から言うと不可能です。

始めに「ユーザー名」「アカウント名」「フルネーム」「ログオン」などの用語を補正します。
「ユーザー」「ユーザー名」「ユーザーアカウント」はしばしば同じ意味で使用されたりしますが、厳密な表現では「ユーザーアカウント」は「ユーザーの登録」そのものを意味し、「ユーザー名」はユーザーアカウントを構成する要素のひとつに過ぎません。
「ユーザーアカウント名」と表現したとき、その意味するものは文章の流れから「プロファイルフォルダ名」である場合と「ユーザー名」である場合と「フル ネーム」である場合があり、それぞれ分けて考えなくてはなりません。
OS上でユーザーを作成した直後は、通常ユーザー名というと、Document and Settings 以下のフォルダ名(プロファイルフォルダ名))になります。

>ユーザー名を変更出来るタイプ(Administrator等)で、ログインする場合は
これは「ようこそ」画面を使用せず、Windows2000風のログオンダイアログを使用したログオンを行う場合は、という意味ですね。

>パソコンにOSを入力した時のユーザー名が初期に出てきてしまいます。
…ではなく、前回ログオンしたユーザー名が表示されるはずです。
セキュリティ上好ましくないということで、このときどんなユーザー名も表示されないようにする設定はありますが、特定のユーザー名を表示させるということは、セキュリティ上さらに好ましくなくなりますので、その種の設定は用意されていません。

常に固定されたユーザーでログオンしたい場合は、そのユーザーでの自動ログオンを設定する方法がありますが、もちろんセキュリティ上はあまり好ましいものではありません。
自動ログオンを設定したユーザーのスタートアップフォルダにWindowsをロックするショートカットを入れておくことで、起動直後に特定のユーザーのパスワード入力画面を表示させることは可能ですが、これもセキュリティ上のリスクは自動ログオンとほとんど変わりありませんので、オススメまではできません。

結論から言うと不可能です。

始めに「ユーザー名」「アカウント名」「フルネーム」「ログオン」などの用語を補正します。
「ユーザー」「ユーザー名」「ユーザーアカウント」はしばしば同じ意味で使用されたりしますが、厳密な表現では「ユーザーアカウント」は「ユーザーの登録」そのものを意味し、「ユーザー名」はユーザーアカウントを構成する要素のひとつに過ぎません。
「ユーザーアカウント名」と表現したとき、その意味するものは文章の流れから「プロファイルフォルダ名」である場合と「ユーザー名...続きを読む

QVBAでユーザ定義変数名をシートから取得したい

VBAでユーザ定義型変数を宣言する際、
要素名をシートに記述した名称にすることは可能でしょうか?

【例】
シート「Sheet1」のセルA1とA2に
「SYAIN_NO」と「SYAIN_NM」が入力されています。
ユーザ定義型変数syainの要素名1と要素名2をシートから名称を取得し
[取得前]
Type syain
要素名1 As Long
要素名2 As String
End Type

[取得後]
Type syain
SYAIN_NO As Long
SYAIN_NM As String
End Type
にしたいです。
今後、シートに名称を追加することで変数を拡張したいと考えています。

Aベストアンサー

残念ですが、定義をプログラム実行中に変更する
ことはできません。
「定義を変更する」→「変数等の状態リセット」→
「プログラムの実行継続が不可能」という理屈に
なります。
また、変数を別の変数を使って動的に指定する
ポインタのような使い方も一部を除き、不可能
です。ExcelのVBAは「一部」に含まれません。
二重の意味で、お考えのようなことはVBAで実現
不可能です。

Qファイルサーバ ユーザー名 パスワード クライアン

素人なのですが、教えてください。
社内でワークグループ管理です。
新規にクライアントPC(ユーザー名:Aパスワードなし)を追加し、ファイルサーバにユーザー名:Aとパスワードなしを登録しました。
その後、クライアントPCからファイルサーバに最初のアクセスを行い、当然ながらユーザー名:Aパスワードなしでアクセス可能となりました。
クライアントPCとファイルサーバに登録するユーザー名は別物なので、ユーザー名が同じでも別でも構わないはずですが、クライアントPCの方でパスワードを変更するとファイルサーバーにアクセスできなくなり、ファイルサーバーでもパスワードを変更しなければなりません。
ユーザー名は別でもいいが、パスワードは同じでないといけないということなのでしょうか?
宜しくお願い致します。

Aベストアンサー

> ユーザー名は別でもいいが、パスワードは同じでないといけないということなのでしょうか?

ユーザー名とパスワードが一致しないと、認証されないと思いますが。
ユーザー名は別でもいいというのは、何を根拠に?

クライアントにログオンしてるユーザーが、サーバーに登録されていない場合、認証ダイアログが表示され、そこで認証情報を記憶させることができる場合があります。(Windowsのバージョンとエディションによってできるものとできないものがあります)
ユーザー名が違う場合は、この機能が働いていて、問題ないと勘違いされているのでは?

認証の際に、ユーザーが登録されていない場合と、ユーザーが登録されているがパスワードが一致しない場合とでは、処理が異なっていたはずです。

QUSBメモリ内のフォルダ名をログインユーザ名に書き換える

USBメモリにあるフォルダ名をログインユーザ名に書き換えるバッチファイルの作成に困っております。
現在、仕事でSleipnir1.66をUSBメモリに入れて持ち歩き、出先のPCと会社のPC、そして自宅のPCと三箇所でそのブラウザを使う事があります。
問題なのは、「USBメモリのドライブ:\Sleipnir\user\USERNAME」のドライブ名とUSERNAME部分です。
Sleipnirの環境設定がログインユーザ名ごとにフォルダが作成されそこに保存されるので、USBメモリを挿すPCが変わると当然ながらユーザ名が変わってしまいます。
今までは、手動でユーザ名を調べてそのユーザ名に書き換えていましたが、それをBATファイルで自動化できないかと考えました。

ですが、DOSが良く分かりません。
接続するPCによっては、USBメモリのドライブも変わりますし、ユーザ名を%USERNAME%で参照できるらしい事、RENでフォルダ名を変えられる事、など断片的に情報は集まりましたが、どのように処理を書けば良いのか分かりません。
やりたい事を以下に記します。(BATファイルはUSBメモリ内にあるとして)

1.USBメモリのドライブを調べる
2.ログインユーザ名を調べる
3.「1」で調べた結果:\Sleipnir\user\「2」で調べたユーザ名 に書き換えたい。

厚かましいとは思いますが、どなたか希望に沿うBATファイルを作成して頂けませんでしょうか。

説明下手ですが補足要求ございましたら仰って下さい。

USBメモリにあるフォルダ名をログインユーザ名に書き換えるバッチファイルの作成に困っております。
現在、仕事でSleipnir1.66をUSBメモリに入れて持ち歩き、出先のPCと会社のPC、そして自宅のPCと三箇所でそのブラウザを使う事があります。
問題なのは、「USBメモリのドライブ:\Sleipnir\user\USERNAME」のドライブ名とUSERNAME部分です。
Sleipnirの環境設定がログインユーザ名ごとにフォルダが作成されそこに保存されるので、USBメモリを挿すPCが変わると当然ながらユーザ名が変わってしまいます。
今まで...続きを読む

Aベストアンサー

USBメモリのルート(たとえばE:\など)にバッチを置くこととします。
また、「USBメモリのドライブ:\Sleipnir\user\USERNAME」には1つのフォルダしかないものとして、そのフォルダを書き換えます。
最後の行はおまけで、Sleipnir.exeを呼び出していますが不要なら抜いてもらってもいいです。

:----------------------------------chguser.bat
echo off
for /D %%d in (%~d0\Sleipnir\user\*) do ren %%d %USERNAME%
start %~d0\Sleipnir\Sleipnir.exe

Qユーザー名を変更したい!

会社で使っているパソコンで、前任者の名前がユーザー名になっています。パソコンを立ちあげると「ユーザー名」と「パスワード」の画面がでてきます。パスワードの設定方法はわかったのですが、「ユーザー名」の変更のしかたがどうしてもわかりません。ヘルプも見てみたのですがそれでもわからなくて・・・複数のユーザー名の設定ではなく、今登録されているユーザー名を変更したいのですが、できるのでしょうか?

Aベストアンサー

スタート→コントロールパネル→ユーザーアカウント→ユーザーアカウント→ここからお好みのセクションを選びら希望のアカウントに変更できます。

QH8マイコンの端子の数字の端子名とアルファベットの端子名の違いは?

いまH8マイコンを勉強しようと思い、使おうと思っているH8S2368の端子をざっと見ているのですが、H8マイコンの端子名を大雑把に分けるとP1,P2,P3という数字のついた端子名とPA,PB,PCというアルファベットのついた端子名の2つにわかれているように思うのですが、これには何か意味はあるのでしょうか?

Aベストアンサー

P1、P2、PA、PBというのはI/Oのグループを示しているだけで、違いはありません。
一般的に"P"はI/O Portを表し、P20~P27といった表記はP2のグループであることを表しています。
マイコンによりますが、P0またはP1から始まり、P9までいくと次はPA、PBと言うようにアルファベットで表します。

QWindows Vistaユーザー名変更に伴う不具合について

Windows Vistaユーザー名変更に伴う不具合について
以下のアドレスを参考に、Windows Vistaでユーザー名の変更を行いました。ユーザープロファイルのコピーまでは完了したのですが、Windows Mailを起動すると初期状態になっています。メールアカウントの作成をしても過去にダウンロードしたメールを見ることができず、困っています。旧ユーザー名でダウンロードしたメールを新ユーザー名で見られるようにする方法があれば教えて頂けないでしょうか。

関係あるかどうかは分かりませんが、旧ユーザー名よりメールアカウントのエクスポートを行い、Active Directory.iafは作ったのですが、新ユーザー名のWindows mailにインポートしようとするとエラーとなります・・・。

http://blogs.yahoo.co.jp/akio_myau/32583225.html

Aベストアンサー

ユーザーの管理者権限はどうなっているでしょう?
新しいユーザー名が既定の管理者になっていないとアクセスできない場合があります

旧ユーザー環境でWindows Liveメールのアカウント情報もエクスポート(バックアップ)してください
そして新ユーザー環境でアカウント情報をインポート
ユーザーアカウント情報が同じならインポート可能になると思います

参考URL:http://faq.epsondirect.co.jp/faq/edc/app/servlet/relatedqa?QID=027652

QノーツのデータをVBScriptで取得したい

ノーツのデータをVBScriptで取得しようとしております。
そのために, 次のスクリプトを書きました。

Set objNotes = CreateObject("Notes.Notessession")
databaseName = "xxxxxxx.nsf"
Set objDB = objNotes.GetDatabase("",databaseName)
universalID = "ffdecaef1b87c101c925656e000c02dc"
Set objDoc = objDB.GetDocumentByUNID(universalID)
If objDoc.HasItem("Subject") Then WScript.Stdout.Write("Yes"&vbCrLf)
itemValueList = objDoc.GetItemValue("Subject")
WScript.Stdout.Write(TypeName(itemValueList)&vbCrLf)
WScript.Stdout.Write(itemValueList(0)&vbCrLf)
Set objDoc = Nothing
Set objDB = Nothing
Set objNotes = Nothing

結果は
Yes
String()
C:\temp\notesvalue.vbs(9,1) Microsoft VBScript 実行時エラー: 型が一致しません。: 'itemValueList'

とGetItemValueの値を取得することができません。

上の例では, Subjectというアイテムを取得することにしていますが,
その他のItemでもだめでした。

ノーツのバージョンは4.6a
OSはWindows 2000 Professional
でございます。

識者の方, どうすればGetItemValueから有効な値を取得できるかお教えください。
よろしくお願いいたします。

ノーツのデータをVBScriptで取得しようとしております。
そのために, 次のスクリプトを書きました。

Set objNotes = CreateObject("Notes.Notessession")
databaseName = "xxxxxxx.nsf"
Set objDB = objNotes.GetDatabase("",databaseName)
universalID = "ffdecaef1b87c101c925656e000c02dc"
Set objDoc = objDB.GetDocumentByUNID(universalID)
If objDoc.HasItem("Subject") Then WScript.Stdout.Write("Yes"&vbCrLf)
itemValueList = objDoc.GetItemValue("Subject")
WScript.Stdout.Write(TypeNam...続きを読む

Aベストアンサー

メッセージをそのまま受け取ると,

itemValueListが配列ではないにもかかわらず,
配列として扱っている(itemValueList(0)の部分)

からではないかと思われます。

単なる勘なんですけど,LotusScriptにおいて,
NotesDocumentクラスのGetItemValueの戻り値は
確かにString型の配列ですが,VBScriptで
暗黙的に型変換(文字列とか)されているのでは。

試しに7行目itemValueList = objDoc.GetItemValue("Subject")
の後に,Msgbox(IsArray(itemValueList))で確認して
みて下さい。(配列であればTrueが返るはずです)

またMsgbox(itemValueList)などとして,中身をが改行や
コロンで区切られた文字列リストであれば,Splitで配列を
作成してやればよいかもしれません。

っつーか,Subjectのアイテム数が1つだけ(配列ではない)
ことが確実であれば,そのまま
WScript.Stdout.Write(itemValueList&vbCrLf)とか
できないんでしたっけ?
↑Stdout.Write使った事ないんで,かなりテキトーです。
参考までにWScript.Stdout.Write(TypeName(itemValueList)&vbCrLf)
が何を標準出力に送信してるか教えて頂けると嬉しいです。

メッセージをそのまま受け取ると,

itemValueListが配列ではないにもかかわらず,
配列として扱っている(itemValueList(0)の部分)

からではないかと思われます。

単なる勘なんですけど,LotusScriptにおいて,
NotesDocumentクラスのGetItemValueの戻り値は
確かにString型の配列ですが,VBScriptで
暗黙的に型変換(文字列とか)されているのでは。

試しに7行目itemValueList = objDoc.GetItemValue("Subject")
の後に,Msgbox(IsArray(itemValueList))で確認して
みて下さい。(配列であれ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング