当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年11月28日金曜日

条件分岐

条件分岐のサンプルです。
真か偽かだけの条件分岐であれば、If関数を利用するかと思いますが、
複数の条件が存在する場合にはIf関数では分かりづらくなってしまいます。
このような場合、Select Case関数を利用します。

サンプルは、現在の月を取得して、それを日本語で表示するものです。

ところで・・・
Select Caseの条件式は数値であるように記述していますが、どうも数値でなくても良いようです。
ヘルプを見ても、「条件の値と比較するための値を表す式」とあるだけで、データ型は指定されていないのです。
ただし、文字列にすると、完全一致の場合は正常に動作しますが、範囲指定の場合は動きが怪しいので、やはりヘルプの例にあるように、数値で判断する方が良いでしょう。

Sub Click(Source As Button)
    '一つの条件に対し、複数の選択肢がある場合には次のようにする。
    Select Case Month(Today)
    Case 1:
        Messagebox "今日は一月です。" , 0, "結果"
    Case 2:
        Messagebox "今日は二月です。" , 0, "結果"
    Case 3:
        Messagebox "今日は三月です。" , 0, "結果"
    Case 4:
        Messagebox "今日は四月です。" , 0, "結果"
    Case 5:
        Messagebox "今日は五月です。" , 0, "結果"
    Case 6:
        Messagebox "今日は六月です。" , 0, "結果"
    Case 7:
        Messagebox "今日は七月です。" , 0, "結果"
    Case 8:
        Messagebox "今日は八月です。" , 0, "結果"
    Case 9:
        Messagebox "今日は九月です。" , 0, "結果"
    Case 10:
        Messagebox "今日は十月です。" , 0, "結果"
    Case 11:
        Messagebox "今日は十一月です。" , 0, "結果"
    Case 12:
        Messagebox "今日は十二月です。" , 0, "結果"
    Case Else:
        Messagebox "今日は何月なんですか!?" , 0, "結果"
    End Select
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月26日水曜日

表示形式の設定

表示形式を設定する関数を紹介する。
具体的には、Format関数を使う。この関数を使うと、数値や文字列、日付/時刻データの形式を変更することができる。
画面に表示する際に利用することもできるし、プログラム中の計算用に形式を変更して使うこともできる。


サンプルは、数値、文字列、日付/時刻をそれぞれ形式を変更して表示するようにしている。
Sub Click(Source As Button)
    Dim suuji As Long
    Dim jikan As Variant
    Dim moji As String
    Dim ret As Variant

    suuji = 1234567
    Messagebox Cstr( suuji ), 0, "表示形式の変更前"
    ret = Format( suuji, "#,###" )
    Messagebox ret, 0, "表示形式の変更後(','付で表示)"

    moji = "abcdefghijklmn"
    Messagebox Cstr( moji ), 0, "表示形式の変更前"
    ret = Format( moji, ">" )
    Messagebox ret, 0, "表示形式の変更後(大文字で表示)"

    jikan = Now
    Messagebox Cstr( jikan ), 0, "表示形式の変更前"
    ret = Format( jikan, "yy/m/d h:m:s" )
    Messagebox ret, 0, "表示形式の変更後(年を下二桁で表示)"
End Sub



Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月25日火曜日

エラー処理(On Errorステートメント)

今日はエラー処理について書いてみる。
プログラムを書く際、自分が想定していなかった操作や動作が行われた場合、
何も対処していないと、プログラムが異常終了してしまう。
そういったことが起きないようにするのが、エラー処理である。

Dominoオブジェクトを取得していない(できない)まま、処理を進めるとか、
数値のみの入力領域に、文字列を入力してしまうなどである。

サンプルは、エラー処理なしと、ありの2種類用意した。
ともに、プロンプトを表示して、そこに入力した値をチェックするものである。

'エラー処理なしのサンプル
Sub Click(Source As Button)
    '数値型の変数の定義
    Dim res As Long

    '入力形式のダイアログボックスの表示(数値以外はシステムエラーで処理停止)
    res = Inputbox( "何か入力してください。", "エラー処理" , "" )

    '数値が入力されれば、次のメッセージが表示される
    Messagebox "数字を入力しましたね。", 0, "エラー処理"
End Sub


'エラー処理ありのサンプル
Sub Click(Source As Button)
    '数値型の変数の定義
    Dim res As Long

    'システムエラーが発生したら、InputErrというラベルへジャンプするという定義
    On Error Goto InputErr

    'エラー処理から戻るためのラベル
ValueInput:
    '入力形式のダイアログボックスの表示
    res = Inputbox( "何か入力してください。", "エラー処理" , "" )

    '数値が入力されれば、次のメッセージが表示される
    Messagebox "数字を入力しましたね。", 0, "エラー処理"

    'エラー処理のルーチンへ行かないように、強制終了させる必要がある
    Exit Sub

    'エラー処理のラベル
InputErr:
    Messagebox "数値以外を入力しましたね。ここは数値を入力してください。", 0 + 48, "エラー処理"
    'エラー処理が終わったら処理の流れを元に戻す必要がある
    Resume ValueInput
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月21日金曜日

@UserRoles関数の機能強化って・・・

機能強化された@UserRoles関数の不思議の記事で、
Notes8では、ローカルレプリカでも@UserRoles関数が動作するようになった!ということを書いたが、
どうも、そうではないらしい。
というのも、6.5の環境でも、ローカルレプリカであれば、@UserRoles関数は動作するようなのだ。
6.x以前の環境は持ち合わせていないので詳細は不明だが、実はかなり前からローカルレプリカのDBなら@UserRoles関数は動作していたのではないか?

DBの新規開発では、あまり使い途はないかもしれないが、既存のDB修正や、ローカルレプリカでの運用を想定している開発の場合には、良いのではないか?と思う。

もし、このような場面に遭遇した人は試してみてほしい。
もちろん、筆者も直面した場合は、その結果を記事にして報告する。

DB内の文書の検索

以前に、データベース内の検索という記事をいくつか書いた。
良く見返すと、NotesViewクラスのGetDocumentByKeyメソッドについて触れていなかった。

@DbLookUp関数の代わりとしてよく使うのに、書いていなかったのは不覚ですね・・・
ということで、今回はGetDocumentByKeyメソッドのサンプルです。

このメソッドを使う際の注意事項は、ほとんど@DbLookUp関数と同じです。
「ビューは1列目がソートされていること」です。

@DbLookUp関数と違うのは、
・検索キーは複数設定できること(この時、1番目のキーはビューの1列目、2番目のキーはビューの2列目・・・と対応していきます)。
・検索キーが「完全一致」なのか、「部分一致」なのかを選択できること。
・検索結果は、1文書であること(検索結果を全部抽出したい場合は、GetAllDocumentsByKeyメソッドを利用する)。
でしょう(他にも色々とありますが、それはヘルプで確認してください)。


サンプルは、自DBに登録されているCategoriesというフィールドの一覧を作成して、
その中から、検索したい項目を選択します。検索結果のSubjectフィールドの値を表示するものです。

GetDocumentByKey以外にもいくつかテクニック(と呼べるかどうかは微妙・・・)が隠されているので、
良く研究してみてください。
Sub Click(Source As Button)
    '検索するビュー変数の定義
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument

    '検索キーの選択肢を表示するプロンプト関数を呼び出すための変数の定義
    Dim uiws As New NotesUIWorkspace

    '検索結果をセットする変数の定義
    Dim sdoc As NotesDocument

    '検索キーと検索結果の表示用変数の定義
    Dim tmp(1 To 1) As String
    Dim varList As Variant
    Dim unqList As Variant
    Dim key As String
    Dim sbj As String

    'ビューの取得
    Set db = session.CurrentDatabase
    Set view = db.GetView( "(ByCategory)" )

    'ビューに表示されている文書の大分類を取得
    Set doc = view.GetFirstDocument
    Do While Not ( doc Is Nothing )
        If Isempty( varList ) Then
            varList = Arrayappend( tmp, doc.ColumnValues(0) )
        Else
            varList = Arrayappend( varList, doc.ColumnValues(0) )
        End If
        Set doc = view.GetNextDocument( doc )
    Loop

    'キーの取得
    unqList = Arrayunique( varList, 0 )
    key = uiws.Prompt( PROMPT_OKCANCELLIST, "検索キーの入力", "ビューで検索する大分類を入力してください。", , unqList )

    'keyに基づいてビューを検索
    Set doc = view.GetDocumentByKey( key )

    sbj = doc.Subject( 0 )
    Messagebox sbj, 0, "検索結果"
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月20日木曜日

現在の文書の値を取得する

自文書のアイテム値を取得するものである。
今回は、NotesUIDocumentクラスのFieldGetTextメソッドを利用する。

※このメソッドで気をつけるべきなのは、「文字列」で取得されると言うこと。例えば、文書中で複数値を持つアイテムでも一つの文字列として認識されてしまうのだ。
NotesDocumentクラスのGetItemValueメソッドの場合は、アイテムの内容を正確に取得するので、複数値であれば配列として取得する。

サンプルは、自文書にある「Subject」「Categories」「Sections」アイテムの値を取得して、画面に表示するものである。

Sub Click(Source As Button)
    Dim uiws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument

    'CureentDocumentは今、開いている文書という意味
    Set uidoc = uiws.CurrentDocument

    'FieldGetTextで文書のフィールドの内容を取得する
    Messagebox "タイトルは、【" & uidoc.FieldGetText("Subject") & "】です。", 0, "結果"
    Messagebox "大分類は、【" & uidoc.FieldGetText("Categories") & "】です。", 0, "結果"
    Messagebox "小分類は、【" & uidoc.FieldGetText("Sections") & "】です。", 0, "結果"
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月19日水曜日

特定の文字の箇所を知る

文字列内の検索をする関数。
今までにもいくつかのサンプル内で使ってきた関数のInstrを利用する。

サンプルはアルファベットを格納した文字列変数があり、その中に含まれる文字列が何番目にあるのかを検索して、結果を表示するものである。
これとMid関数を組み合わせると、文字列の抽出ができるようになる。

このサンプルを元に、色々と試してみてほしい。
Sub Click(Source As Button)
    Dim STRINGS As String
    Dim ANS As Integer
    Dim inp As String

    '文字列の定義
    STRINGS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

    '文字列内の検索
    inp = Inputbox( "検索したいアルファベットを入力してください。", "検索するアルファベットの入力" )
    If inp = "" Then
        Msgbox "処理を中断しました。", 0, "文字列の検索"
    Else
        ANS = Instr( STRINGS, inp )
        If ANS = 0 Then
            Msgbox "見つかりませんでした。", 0, "文字列の検索"
        Else
            Msgbox ANS & "番目", 0, inp & "の位置"
        End If
    End If
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月18日火曜日

ビューに表示させないようにしてしまう

今日はちょっと変わったプロパティを紹介しよう。

ある特定のアイテム(文書に格納されているフィールドのこと)をビューに表示させたり、表示させないようにしたりするものである。
NotesItemクラスのIsSummaryプロパティにTrueもしくはFalseをセットすることで実現できるのだ。
Falseをセットすると、この「アイテム」はビューには表示されなくなる。
ただし、文書そのものが表示されなくなるわけではないので注意してほしい。

サンプルは、自文書のSubjectアイテムをビューに表示させないようにするというものだ。
元に戻したい場合は、サンプルのitem.IsSummary = Falseitem.IsSummary = Trueに変更すれば良いだけである。
Sub Click(Source As Button)
    Dim uiws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim item As NotesItem

    '自文書の取得
    Set uidoc = uiws.CurrentDocument
    Set doc = uidoc.Document
    Set item = doc.GetFirstItem( "Subject" )

    'ビューへの表示を許可しないにする
    item.IsSummary = False
    Call doc.Save( True, True )
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月14日金曜日

デリミタによる文字列の分割

今日はデリミタ(区切り文字)で文字列を分割してみるというLotusScriptです。

ret = Split( strValue, ",", -1, 5 )
この部分が分割する関数である。
1番目の引数は、分割したい文字列。
2番目の引数は、デリミタ。
3番目の引数は、文字列を何個に分割したいのか、その個数を書く。-1の場合は、デリミタの分だけ全部分割する。
4番目の引数は、デリミタの判別方法。大文字小文字や全角半角を区別するのに使う。5は、両方とも区別しない。
 ここを1とすると、","(半角カンマ)と","(全角カンマ)を区別して、デリミタに指定した文字だけを区切り文字とする。

サンプルは、文字列を","で区切り、それらをプロンプト表示するものである。
※サンプルでは、","(半角カンマ)をデリミタにしているが、","(全角カンマ)でも同じ結果になる。

Sub Click(Source As Button)
    Dim strValue As String
    Dim ret As Variant
    Dim i As Integer

    strValue = |1,"abcdefg",100,150,120,110,300,100,100,100,500,"hijklmn",| & _
    |"192.168.0.1","00:xx:yy:zz:nn:mm","vwxyz",|
    'ブログで表示しきれないので、2行に分けている
    ret = Split( strValue, ",", -1, 5 )
    For i = 0 To Ubound(ret)
        Msgbox ret(i), 0, Cstr(i+1) & "番目のデータ"
    Next
End Sub



Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月13日木曜日

機能強化された@UserRoles関数の不思議

DBにおける自分のロールを表示する
では、@UserRoles関数の動きを説明した。
Notes 8になって、この関数が機能強化されたとのことで、試してみた・・・

が、やっぱりローカルでは動作しない。
なぜ???と、よ~くデザイナーヘルプを眺めてみると・・・
「サーバー上のデータベースまたはローカルの複製されたデータベースの場合は、現在のユーザーが持つロールのリストが返されます。ロールは、データベースのアクセス制御リスト内に定義されています。」
とある。

ん?どうやら、レプリカのDBでないと、ローカルでは動作しないようだ。
・・・ということで、早速サーバにあるDBをローカルに複製してみる。

おぉ!@UserRoles関数が動作するではないか!!

ここでちょっと考えてみた。
このDB、サーバにあるDBを削除したらどうなるんだろう?動くのかな?

はい。削除してみました。
結果・・・

サーバ上のDBを削除しても、ローカルレプリカのDBでは、@UserRoles関数は動作しました。
こうなってくると、ローカルに作成したDBとローカルレプリカのDBの違いは何だろう?

データベースのプロパティ、複製の設定を見てみたが、変わったところはない。
うーん。何でだろう???

誰か知ってたら教えて!

新規文書かどうかのチェックその2

新規文書かどうかを判断するLotusScriptの第2弾。

新規文書かどうかのチェック
では、NotesDocumentクラスのプロパティということで、バックエンドで判断していたが、今回は、NotesUIDocumentクラスの場合である。
フォームのPostOpenイベントで使うのが良いだろう。

サンプルは前回と同じく、自文書が新規文書かどうかを判断して、結果を表示するという単純なものだ。
Sub Click(Source As Button)
    Dim uiws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument

    '自文書の取得
    Set uidoc = uiws.CurrentDocument

    If uidoc.IsNewDoc = True Then
        Messagebox "新規文書です。", 0, "新規文書かどうかのチェック"
    Else
        Messagebox "新規文書ではありません。", 0, "新規文書かどうかのチェック"
    End If
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

新規文書かどうかのチェック

今回は、新規文書かどうかのチェックだ。
文書の状態に応じて処理を分ける際に活用してほしい。


サンプルは、自文書が新規文書かどうかを判断して、結果を表示するという単純なものだ。
Sub Click(Source As Button)
    Dim uiws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument

    '自文書の取得
    Set uidoc = uiws.CurrentDocument
    Set doc = uidoc.Document

    'NotesUIDocumentとはプロパティ名が違うことに注目
    If doc.IsNewNote = True Then
        Messagebox "新規文書です。", 0, "新規文書かどうかのチェック"
    Else
        Messagebox "新規文書ではありません。", 0, "新規文書かどうかのチェック"
    End If
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月12日水曜日

ユーザー名の取得その2

ユーザ名の取得の第二弾。
今回は正規化された形に変換してみる。

作成者フィールドを変更するではさらっと流したが、重要なことなので、ここだけ抜き取って説明する。
※「canonical」とは正規のと言う意味である。

 グループ文書のメンバーリストなど、ノーツのユーザー名を格納する場合にはこの形式でないといけません。

今回のサンプルもLotusScriptと@関数の2種類用意する。
フィールドの値に記述しておくときは@関数を使い、バックエンドで処理するときはLotusScriptというように、場合に応じて使い分けてほしい。

Sub Click(Source As Button)
    Dim BeforeName As String
    Dim AfterName As String

    Dim NotesNamae As NotesName

    BeforeName = "Guy Locke/Oyoyo"
    Messagebox BeforeName, 0, "変換前の名前"

    Set NotesNamae = New NotesName( BeforeName )
    AfterName = NotesNamae.Canonical

    Messagebox Aftername, 0, "変換後の名前"
End Sub



BeforeName := "Guy Locke/Oyoyo";
@Prompt([OK];"変換前の名前";BeforeName);

AfterName := @Name([Canonicalize];BeforeName);
@Prompt([OK];"変換後の名前";AfterName)





Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月11日火曜日

アクセス5,000件突破!

気がついたら、アクセス件数が5,000を超えました。

3月末に始めてから、早7ヶ月が過ぎました。

飽きっぽい性格の割に、よく続いたなぁと思います。
ここで飽きずに、1年2年と続けていきますので、これからもよろしくお願いします。

ユーザー名の取得

ユーザ名を取得して使いやすい形に変換するという方法です。
LotusScriptの場合、ユーザ名は一旦、NotesNameクラスで定義する必要があります。
その後、各種プロパティを用いて、加工します。

@関数の場合、@UserNameでユーザ名を取得して、@Name関数で加工します。


今回はLotusScriptと@関数のサンプルを用意しました。
場合に応じて、使い分けてください。

※「abbreviate」は省略するという意味です。

Sub Click(Source As Button)
    Dim BeforeName As String
    Dim AfterName As String

    Dim NotesNamae As NotesName

    BeforeName = "CN=Guy Locke/O=Oyoyo"
    Messagebox BeforeName, 0, "変換前の名前"

    Set NotesNamae = New NotesName( BeforeName )
    AfterName = NotesNamae.Abbreviated

    Messagebox Aftername, 0, "変換後の名前"
End Sub


BeforeName := "CN=Guy Locke/O=Oyoyo";
@Prompt([OK];"変換前の名前";BeforeName);

AfterName := @Name([Abbreviate];BeforeName);
@Prompt([OK];"変換後の名前";AfterName)




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月10日月曜日

フォームの再計算

フォームの再計算を行うメソッドとして、Refreshメソッドがある。
文書を開いた状態で、F9キーを押したのと同じ効果がある。

計算結果フィールドの値を更新したい場合や、キーワードフィールドの内容を更新した場合に使える。
@関数では、@Command([ViewRefreshFields])が同じ効果を持つ。

Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

Set uidoc = uiws.CurrentDocument
Call uidoc.Refresh



※スクリプトの場合、フィールドのExitingイベントなどで仕掛けることが出来るので、そのフィールドからカーソルが移動したときに、自動で再計算を行わせることが可能。
 →@関数では出来ないので、ホットスポットボタンを作成して押させるようにするしかない。


Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月6日木曜日

書き出しメニューの使いづらいところ

不具合というか仕様というか・・・

ビューから実行できる「ファイル」「書き出し」メニューで、ちょっとした現象に出会った。
実際には以前にも同じ目にあったのだが、忘れていた。
なので、忘れないようにここに書いておく。

ビューに複数値のデータを持った列がある(図を参照)。

この列が、1行で表示しきれない場合、「ファイル」「書き出し」メニューでCSVに書き出しを行う。
すると、書き出されたCSVには、1行分のデータしか書かれないのだ。つまり、2行目以降に押し込まれたデータは書き出しの対象外になってしまうのだ。

CSVに書き出すプログラムを作るのが面倒で、「メニューから実行できるからいいや」と言って、ビューの設定をおざなりにしてしまうと、CSVの書き出しが正しく行われないと言うことになる。
解決するには、
1.列幅を広げて1行で表示できるようにする。
2.自分でCSVに書き出すためのプログラムを作成する。
のどちらかである。
1.の方法が簡単だが、列幅は広げられる最大値が決まっているので(かなり大きいが)、大量のデータを表示している場合は、2.の方をお勧めする。
ファイルの書き出しが参考になるだろう。


Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月5日水曜日

メール送信その2

メール送信の応用。
送信先がノーツであれば、Memoフォームで送らなくても良いのだ。
このスクリプトを実行するDBにフォームがあれば、そのフォーム自体をメール文書として送信することが可能である。

さらに、SaveMessageOnSendプロパティをTrueにすることにより、メール送信時に、文書をDBに保存することも可能である。

サンプルは、DBにあるフォーム(DB_Form)で文書を作成して、このフォームごと送信する。その際、文書をDBにも保存するものである。

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim mdoc As NotesDocument
    Dim mritem As NotesRichTextItem

    Set db = session.CurrentDatabase
    Set mdoc = db.CreateDocument
    Set mritem = New NotesRichTextItem( mdoc, "Body" )

    mdoc.Form = "DB_Form"
    mdoc.Subject = "DBのフォームです"
    mdoc.SaveMessageOnSend = True

    Call mritem.AppendText( "とりあえず普通に文字を書きます。" )
    Call mritem.AddNewline( 2 )
    Call mritem.AppendText( "改行した後に文字を書きます。" )
    Call mritem.AppendTable( 2, 2 )
    Call mritem.AppendText( "表を追加した後人文字を書きます。" )

    Call mdoc.Send( True, "xxxx yyyy/zzzz" )
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

メール送信その1

よく使うであろうメール送信のサンプル。
バックエンドで文書を作成して、Sendメソッドを使うだけ。

作成した文書にSendToを追加しない場合、Sendメソッドの2番目の引数に送信先を入力できる。
まぁ、わざわざそんなことをする人がいるとは思えないが・・・
CopyToやBlindCopyToも機能する。ただし、Sendメソッドにはそれを指定する引数はないので、自分でそのアイテムを作成する必要がある。

サンプルでは、Memoフォームの文書を作成して、その文書を送信するものだ。

---------------------------------------------------------
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument

Set db = session.CurrentDatabase
Set doc = db.CreateDocument
doc.Form = "Memo"
doc.Subject = "メール送信サンプル"
doc.SendTo = "xxxx yyyy/zzzz"
Call doc.Send( False )
End Sub


Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2008年11月4日火曜日

アンケート結果



気まぐれで一週間ほどアンケートを採ってみた。
いったい、どれくらいの人が読者なのか分からないので、この数値をそのまま信用して良いかは分からないが、一応今後の目安にしていこうと思う。

しかし、サンプルの提供が一番なのはやっぱりショックである。
デザイナーヘルプに豊富に出ているのだから、それを見て、自分で理解してもらうのが一番だと考えているからである。
ここにサンプルを載せているのは、参考にしてほしいのはもちろんだが、筆者自身、こうやってサンプルを作りながら覚えてきたからだ。
他人のサンプルを参考にするのはよいが、まるっきりコピーとかはやめてほしい。
(なので、あまり詳しいサンプルは書かないようにしているのだけど・・・)