12万作品が月額500円(税別)で見放題なのはdTVだけ!! >>dTV(外部リンク)

よろしくご教授おねがいします。
業務でLotusNotesDominoを使うことになりました。バージョンは5だったかと思います。とにかく古いバージョンでした。
LotusNotesが入ったパソコン一式を用意されまして、主に社内/社外メールのメールソフト用に現在使うことになっているのですが、雑多なメールをLotus以外の様々なツールにひも付けする必要性がどうしてもあり、苦労してます。
受信メール本文や送信情報は、書き出し、一括書き出しでtxtファイルに変換できるので、あとはCだのPerlだので好きなように体裁を整えるプログラムを組めましたのでまず問題ありませんでした。
ところが、添付ファイルの書き出しに問題がありまして、書き出したtxtファイルには添付ファイル名が入っているものと、いないものがあるのです。入っているものはその名前を取得できるので、融通がきくのですが、添付ファイル名が入っていないものは、どうしようもありません。
書き出しを行う前、または後に、一つ一つ受信メール(または書き出しメール)を開いて手動で添付ファイル名を追加するしかないのです。

これはさすがにきついので、なにか方法がないか、アドバイスを質問させていただいている次第です。

ちなみに、Lotusのしくみ自体、まったく理解していません。どうやらデータベースやバックアップがlan上のどこかにあるらしいというくらいの知識です。また、フリーソフトやプラグインについても入れていいのかどうか、基本変なソフトは社用パソコンには入れれないですし、Lotusを知らない私にはそういうもののリスク度は判断はできません。ですから、そういうのがどのていどか安全だと十分説明いただければプラグイン等も検討できるでしょうし、それが叶わなければ自力でなんとかしようと考えています。

5から8などへのバージョンアップが普通にできてそれで解決できるのならそれでもいいです。普通にというのは、勝手にそういうのをやってもいいようなソフトなのか、無料なのか、たとえばブラウザとかだと、常に最新のを入れるのがむしろ常識なので勝手にアップグレードしてもいいですし、Adobereaderとかもそうですが、LotusNotesはどうなのかという疑問です。

ちなみに、そういうのは社内でそれに精通している人に聞くのが筋でしょうが、そうもできない(色んな意味でそういうことはしない方がいい)環境ですのでここで質問させていただいている次第です。

話をもどします。
素人ながら、イメージとしては、メールに入っている添付ファイル名を何らかの形で簡単に取得する方法があるのならそれを教えていただきたい、もしくは、designerというツールでそれが可能かつ独学で10~100時間程度でその部分だけを作れるかつLotusのlanサーバーやソフトをいじったり追加インストールしたりしなくていいのなら、そういう方法でもいい、と考えています。
Lotus以外のメールソフトへの転送、そこから添付ファイル(名)ゲットという方法は、それが自分のパソコン内で完結するハイセキュリティーな方法ならそれもありだと考えていますが、pCが普通のwindowsですのでメールサーバーは入っていませんから可能なのかどうか疑問です。

言い忘れましたが、添付ファイル自体は取得する必要はないです。添付ファイルは必要そうなら受信時にそれだけ直接保存で落としますし、基本サーバーに置いとくつもりですので。
受信メールに添付されているファイル名だけが色んな意味で必要だということです。

よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

Notesメールにある添付されているファイル名を取り出したいのですよね。



Notesメールの設計をできる権限を持っていて、Lotus Scriptのプログラムが組めれば、可能です。
ファイル名を取り出すには、Nameというコマンド使います。

たとえば、以下のようにプログラムを組むとします。
Dim doc As NotesDocument
Dim rtitem As Variant
Dim object As NotesEmbeddedObject
Dim objectName As String
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
Forall x In rtitem.EmbeddedObjects
objectName = objectName & ", " & x.Name  ' x.Name にファイル名が入ります。
End Forall
End If

添付された一連のファイル名は、objectName に入ります。
(objectNameの文字変数の最初に ","が付いてしまいますので、取り除く必要がありますが。)
もし、ファイル名がない場合には、x.Name のところには入りませんので、その辺は、IF文を使って場合分けする必要があります。
    • good
    • 0

このレプリケーション機能もバッテイング文書が発生してよろしくない機能なんで本来止めるべきなのですが、サーバー側を更新しない設定でレプリケーションするには問題ないでしょう。

設定で相互の更新に関する設定が出来ます。
それにNotesにはレプリケーションとは別にコピー機能もあるので、コピーを使えばローカルに独立したDBを作る事が出来ます。サーバに更新は出来ません。
それとExcelのVBAからサーバーを参照するのは、別にサーバー側をいじるという事ではありません。ローカルのNotesクライアントからアクセスするのと変わりません。ですのでローカルにコピーしたDBに対して作成し、十分テストして上手く動いたら、参照先をサーバーに変更すればよいのです。
サーバーのDBにスクリプトを作るわけにいかない場合は、なおさらExcelなどからの参照が有効だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
大変勉強になりました。アーカイブは完全移動ということでしょうか。アドバイスいただいたとおり、まずはコピー機能を探してそれでトライしてみようとおもいます。
ありがとうございました。

お礼日時:2013/01/24 23:40

もしVBが書けるならこの辺を参考に。


http://www.breakingpar.com/bkp/home.nsf/0/87256B …
名前を羅列するスクリプトでは無いのでカスタマイズが必要です。添付ファイルが壊れる可能性もあるので、最初はテスト用にDB:をコピーしてから作ってください。

NotesはNotesScriptというVBライクな言語と式と言われる簡易コマンド、さらにJavaScriptの3つの言語でプログラミングできます。
これが事を複雑にしている原因で、すべての言語をまぜこぜに記述出来てしまい。人によっては3つの言語をあちこちで使うので全く分からないプログラムになります。
さらにイベントが起こる箇所それぞれにコードや式を記述できるため、ある命令はボタンに、ある命令はフィールドにある命令は独立してそれぞれが記述出来るので、はっきり言えば作った人が気ままに作成できるので他の人にはわからないという困ったアプリなのです。最悪はそれで破綻する会社もありますので注意です。
そこで解決策はVBとかVBAで外部からNotesを読むという方法です。NotesはこのサンプルのようにVBと互換性があります。たとえばDim ws As New NotesUIWorkspaceのようなオブジェクトはNotesのモジュールを参照設定することで呼び出せます。あるいはCreate Objectでセットすれば参照設定もいりません。参照させればNotesの中でプログラムするのと同じ感じで記述できます。つまりAccessからExcelを参照するような書き方ですね。
つまりExcelのVBAからNotesを参照してセルに書き出すことが可能です。
詳しくはここでは書ききれないのでWebをググって見てください。
Notesには内部オブジェクトの操作と、UIと言われるメニューそのものを動かすクラスがあります。その違いも考慮が必要です。
添付ファイルはリッチテキストに張り付いてるのでさらに面倒です。それ用のコマンドを使います。
とにかくプログラムに慣れてる人なら3日もあれば熟知してしまうほど簡単なシステムです。それゆえに素人が片手間にいろいろ作って、手が付けられないほどめちゃくちゃになった会社を多く知っています。そういう会社はMSなどがExchengeに変換を引き受けるなどの請負をしてますが、本来はNotesは使わない方がよいシステムだと思います。便利なのですが、便利がそんなに簡単なわけがないという事も頭に入れておきましょう。

この回答への補足

VBは初心者レベルです。
アドバイスいただいた方法は、NotesのUI側ではなくデータベース側にアクセスするようですので、残念ながら私の質問の「Lotusのlanサーバーやソフトをいじったり追加インストールしたりしなくていい」に合わないような気がします。
しかし、一旦DBをローカルにコピーできるのならそれは目的達成の可能性があるような気がします。

そこで、要となると思うのでおしえていただきたいのですが、LotusNotesのレプリケーションやアーカイブの作成というメニューは、いちユーザーが勝手に使っていい機能なのでしょうか?Notesをみたところ、レプリケーションというのがサーバー上に既に存在しているようでした。その状態でユーザー(私)が勝手にもう1つレプリケーションやアーカイブをローカルに(作れるのなら)作ってもいいのでしょうか?ホントに基本的な質問ですが、いちユーザーが気軽に作っていいのか悪いのかさえネットでみても確証が得られず謎なので、ご教授願えれば大変助かります。今回の場合、レプリケーションまでせずともアーカイブでいいような気もしますが、アーカイブすると元データがなくなったりすると考えどころです。アーカイブは完全な移動でしょうか?それともデータの複製ができるのでしょうか?その点もご教授願えれば大変助かります。

どうぞよろしくおねがいします。

補足日時:2013/01/24 23:09
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

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

Q【ノーツ】添付ファイル保存【ver6.5】  

仕事上、良くノーツを利用します。
利用することで最も多いのが
添付ファイルの保存です。

件名のフォルダを指定フォルダ上に作成し、
選択した添付付きメールの添付ファイルを保存したいと思っています。

自動で、指定フォルダ (例)C:\TEMPFILE_DATA
に件名のフォルダを作り (例)C:\TEMPFILE_DATA\ご案内
そこに、添付ファイルを保存したいです。(例)C:\TEMPFILE_DATA\ご案内\2013年11月の予定.pdf

複数メールを選択し、実行したら
その分のメールのタイトル(件名)のフォルダを作成し、
添付ファイルを保存したいです。

そのようなことは可能でしょうか?

Aベストアンサー

>複数メールを選択し、実行したらその分のメールのタイトル(件名)のフォルダを作成し、添付ファイルを保存したいです。
>そのようなことは可能でしょうか?

可能かどうかというのであれば、可能ではあります。
ただし、ノーツのデザイナーを利用して、プログラミングする必要があります。
また、プログラミングには、Lotus Scriptを記述する必要があります。

もし、ノーツのプログラミングができないのなら、手間がかかりますが、対象の文書を開いて、添付ファイルにマウスを合わせ、保存を実行するしかないです。


ノーツのデザイナーが使えて、Lotus Scriptの理解があるとします。
添付ファイルを保存するには、Lotus Script の Call notesEmbeddedObject.ExtractFile( path$ ) を利用します。

ビュー画面の設計で、以下のようなスクリプトを作成します。
選択された文書の中に添付ファイルがあるかチェックします。(EMBED_ATTACHMENT )
添付ファイルを指定のフォルダーにコピーします。(ExtractFile( path$ ) )
選択した全文書のチェックが終わるまでループします。

プログラミングの書き方は、"lotusscript 添付ファイル 保存"で検索すれば、参考プログラムの紹介があります。

>複数メールを選択し、実行したらその分のメールのタイトル(件名)のフォルダを作成し、添付ファイルを保存したいです。
>そのようなことは可能でしょうか?

可能かどうかというのであれば、可能ではあります。
ただし、ノーツのデザイナーを利用して、プログラミングする必要があります。
また、プログラミングには、Lotus Scriptを記述する必要があります。

もし、ノーツのプログラミングができないのなら、手間がかかりますが、対象の文書を開いて、添付ファイルにマウスを合わせ、保存を実行するしかな...続きを読む

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))で確認して
みて下さい。(配列であれ...続きを読む

QNotes 開発で、 excelファイルを読み込みデータを追加したい。

現在notes7で開発を行っている(初心者)なのですが

ビュー内の選択している文書からデータを取ってきて
読み込んだexcelファイルに書き足していきたいのですが、

任意のexcelを開くところまではネットを参考にして出来たのですが
詳細を理解していないため、そのファイルにデータを書き足していくことが出来ません。アドバイスをお願い致します。

現在作ってあるプログラムが以下です。

' 既存のEXCELワークブックを開く
Dim xlApp As Variant ' Excelオブジェクト
' マイドキュメントの指定ファイルを開く
Dim wsh As Variant, fso As Variant
Dim FilePath As String, FileName As String
Set wsh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
FilePath = wsh.SpecialFolders("MyDocuments")
FileName = FilePath & "\sample.xls"
If Not fso.FileExists(FileName) Then
Msgbox "ファイルがありません。" & Chr(13) & FileName, 16
Exit Sub
End If
Set xlApp = CreateObject("Excel.Application") ' Excel OLE起動
xlApp.Workbooks.Open FileName
xlApp.Visible = True


これで、ファイルは開けます。ちなみにビュー内の選択文書の取り込みは出来てます。後は、そのデータをエクセルに書き出すだけなのですが
そこが解りません。

それと、現在マイドキュメント内のファイルを読み込んでますが
同じデータを共有リソースの中に保存してあるので、そっちから開きたいのですが、パスをどのように設定すればいいのか解りません。

すみませんが、アドバイスをお願い致します。

現在notes7で開発を行っている(初心者)なのですが

ビュー内の選択している文書からデータを取ってきて
読み込んだexcelファイルに書き足していきたいのですが、

任意のexcelを開くところまではネットを参考にして出来たのですが
詳細を理解していないため、そのファイルにデータを書き足していくことが出来ません。アドバイスをお願い致します。

現在作ってあるプログラムが以下です。

' 既存のEXCELワークブックを開く
Dim xlApp As Variant ' Excelオブジェクト
' マイドキュ...続きを読む

Aベストアンサー

ひとまず、書き出しの方から回答いたします。

エクセルファイルの取得まではできているようですので、今後は「シートオブジェクトの取得」->「セルを指定して処理」の流れでプログラムを作成すればよいと思います。

例えば、作成済みのプログラムの次に以下のコードを追記すれば、Excelに書き出しができると思います。

Dim xlWorksheet As Variant'エクセル・シート
'シート名を指定してシートオブジェクトを取得
Set xlWorkSheet = xlApp.WorkSheets( "Sheet1" )
'セルの1行1列目に「あああああ」という文字をセット
xlWorksheet.cells(1,1).Value = "あああああ"

既に文書の取り込みができているとのことですので、例えば文書オブジェクトがdocだとしたら、以下のコードで実現できるのではないでしょうか。

'文書上のxxxxxフィールドの値を、Excelの1行1列目にセット
xlWorksheet.cells(1,1).Value = doc.GetItemValue( "xxxxx")(0)

蛇足ですが、サイズ幅の変更のような処理も可能です。(マクロをNotes上から実行させるイメージです)

xlWorksheet.cells(1,1).ColumnWidth = 4.13

ひとまず、書き出しの方から回答いたします。

エクセルファイルの取得まではできているようですので、今後は「シートオブジェクトの取得」->「セルを指定して処理」の流れでプログラムを作成すればよいと思います。

例えば、作成済みのプログラムの次に以下のコードを追記すれば、Excelに書き出しができると思います。

Dim xlWorksheet As Variant'エクセル・シート
'シート名を指定してシートオブジェクトを取得
Set xlWorkSheet = xlApp.WorkSheets( "Sheet1" )
'セルの1行1列目に「あああああ」と...続きを読む

QEXCELファイルをロータスノーツのデータベースに流し込めますか

EXCELファイルの表をロータスノーツのデータベースに流し込む、というのはできるでしょうか。
「流し込む」というのは、ファイル読込等の一括した方法で、ということです。
できそうな気がするのですが教えて下さい。

Aベストアンサー

再び登場しました。

基本的な詳しい流れは、R4.6で以下の通りです。

0.まず、Excelの表ををカンマで区切ったテキスト形式で保存し、
  列に対するフィールドとの対応の説明ファイル(拡張子 .COL)を作成します。
(通称.COLファイル)
1.データベース開いて、ソースデータを呼び出すビューを開きます。
  文章(Form)に流し込みたいフィールドが全部記述されているビューにします。
2.[ファイル - 呼び出し] を選択する。
3.[Tabular Text] を選択する。
4.ソースファイルの名前を選択する。
5.[呼び出し] をクリックします。
6.呼び出されたソースデータに適用するフォームを [使用フォーム] リストから選択する。
7.ヘッダ、フッダがある場合は、[ヘッダー行数] または [フッター行数] を選択する。
  (要するに注釈行のことです)
8.ソースファイルに [1ページの行数] の数値を入力する。
9.[形式:] リストは [主要文書] が選択された状態にしておく。
10.[形式ファイルの使用] を選択し、列の説明ファイル(.COL)を選択する。
11.[OK] をクリックします。

となります。
.COLファイルの作り方などはHelp Fileに書いてあります。
Help Fileは、
「ノーツの基本」から、「データベースの開発及び管理」の下にある、「ビューへ呼び出す/ビューから書き出す」の項目を探してみて下さい。
その中に、「表形式テキストをビューへ呼び出す」「列の説明(COL)ファイルを作成する」等の項目があると思います。

バージョンが違うとまたちょっと違うかもしれませんが、多分似たようなものがあるはずです。

では。

再び登場しました。

基本的な詳しい流れは、R4.6で以下の通りです。

0.まず、Excelの表ををカンマで区切ったテキスト形式で保存し、
  列に対するフィールドとの対応の説明ファイル(拡張子 .COL)を作成します。
(通称.COLファイル)
1.データベース開いて、ソースデータを呼び出すビューを開きます。
  文章(Form)に流し込みたいフィールドが全部記述されているビューにします。
2.[ファイル - 呼び出し] を選択する。
3.[Tabular Text] を選択する。
4.ソースファイルの名前を選択...続きを読む

Qエクセル マクロで指定フォルダを開く

エクセルにて
指定フォルダを開く、マクロがあれば教えて頂けないでしょうか。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

こういうものですか?
開くフォルダを変えたいときは targ に与えるパスを変更します。

Sub OpenFolders()
Dim targ As String
targ = "C:\"
Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
End Sub

QLotusScript メール作成方法が解りません

lotus script言語で、メールを作成し送信する方法は解るのですが、
送信せず、作成したメールの内容で、メーラーの新規メール作成画面を立ち上げる方法がわかりません。

スクリプト(抜粋)
Set maildoc = db.CreateDocument 'maildoc
Call maildoc.ReplaceItemValue("Form","Memo")
Call maildoc.ReplaceItemValue("SendTo",uidoc.FieldGetText("mail"))
maildoc.CopyTo = uidoc.FieldGetText("itsupport")
Call maildoc.ReplaceItemValue("Subject","テスト")
Set mailritem = New NotesRichTextItem(maildoc,"Body") 'mailritemをBodyとして定義
Call mailritem.AppendText("【テスト】")
Call mailritem.AddNewline(2)
Call mailritem.AppendText("テスト")
Call mailritem.AppendDocLink(uidoc.Document,"")

Call maildoc.Send(False) 'メールを送信する

こんな感じで、普通にメール作成して最後に送信してます。
ここで、最後に送信はせず、このメール内容で新規メール作成画面を立ち上げたいです。

これはボタン内で作成しており、他にも機能をつけてるので、@関数で全体を書き直すことができません。 この新規メール作成の部分だけ@関数使う形なら問題ないのですが、

方法を教えていただけますでしょうか。

lotus script言語で、メールを作成し送信する方法は解るのですが、
送信せず、作成したメールの内容で、メーラーの新規メール作成画面を立ち上げる方法がわかりません。

スクリプト(抜粋)
Set maildoc = db.CreateDocument 'maildoc
Call maildoc.ReplaceItemValue("Form","Memo")
Call maildoc.ReplaceItemValue("SendTo",uidoc.FieldGetText("mail"))
maildoc.CopyTo = uidoc.FieldGetText("itsupport")
Call maildoc.ReplaceItemValue("Subject","テスト")
Set mailritem = New NotesRichTextItem(m...続きを読む

Aベストアンサー

仕様がいまいちわからないのでなんとも言えませんが
多分こんなことがしたいんだろうなぁというソースを書いておきます。

Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim maildb As New NotesDatabase("","")
Call maildb.OpenMail
Set uidoc=ws.CurrentDocument

Set doc = maildb.CreateDocument
Call doc.ReplaceItemValue("Form","Memo")
Call doc.ReplaceItemValue("Subject","テスト")

Set rtitem = New NotesRichTextItem(doc,"Body")
Call rtitem.AppendText("【テスト】")
Call rtitem.AddNewline(2)
Call rtitem.AppendText("テスト")
Call rtitem.AppendDocLink(uidoc.document,"")
Call doc.Save( False, False)
Call ws.EditDocument(True,doc)

ローカルでメールファイルの設定とかきちんとしてあれば
ご自身のメールボックスが開きます
(一部未提示の仕様SendToの指定とか・・・は実装していません)

仕様がいまいちわからないのでなんとも言えませんが
多分こんなことがしたいんだろうなぁというソースを書いておきます。

Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim maildb As New NotesDatabase("","")
Call maildb.OpenMail
Set uidoc=ws.CurrentDocument

Set doc = maildb.CreateDocument
Call doc.ReplaceItemValue("Form","Memo")
Call doc.ReplaceItemValue...続きを読む

QLotus Notesでフォルダを含む古いメールを別途コピーしたいです

Lotus Notesでフォルダを含む古いメールを別途コピーしたいです。

初めてLotus Notesを使用している派遣先で就労を始めました。
前任者は、ツールのアクションからDBへコピーの機能を使用し
メールのみをワークスペースに作ってあったローカルドライブ?に
移動していたようなのですが
フォルダごと移動する方法は、判らなかったみたいです。

最近メールの容量が多すぎて送受信は、出来ますが受信する為に
ダブルクリックをすると
「@@kbオーバーしています」みたいな?警告が常に出ます。

まだ業務開始をしたばかりで過去のメールは、削除したくない為
整理の為に過去のメールをフォルダごとコピーして保存しておき
通常使用しているメインのメーラーの方のフォルダとメールは、
削除したいのですが個人単位で可能でしょうか?
それとも情報システム部の管理権限者に依頼しないと駄目なのでしょうか?

出来ればワークスペースに新しい移動先を作成して今回からは、
そちらにコピーするようにもしたいのですが
(現在コピー移動?しているローカルも結構沢山です。
2年半就労していた前任者が全てメールだけ移していました。)
あちこちヘルプ等を見ても作り方すら判りませんでした。

職場で色々確認しながらこちらで質問させて頂きたかったのですが
Web閲覧ブロックが厳しくてこういった場やブログ及びSNS等は
情報システム部に使用目的を申請して許可を得ないと一切閲覧出来ません。

色々概念や専門用語に誤りもあるかと思いますがご回答頂けると嬉しく思います。
宜しくお願い致します。

Lotus Notesでフォルダを含む古いメールを別途コピーしたいです。

初めてLotus Notesを使用している派遣先で就労を始めました。
前任者は、ツールのアクションからDBへコピーの機能を使用し
メールのみをワークスペースに作ってあったローカルドライブ?に
移動していたようなのですが
フォルダごと移動する方法は、判らなかったみたいです。

最近メールの容量が多すぎて送受信は、出来ますが受信する為に
ダブルクリックをすると
「@@kbオーバーしています」みたいな?警告が常に出ます。

まだ業務開始をし...続きを読む

Aベストアンサー

質問をみる限りですが、サーバー上にあるメールのサイズが大きすぎて、エラーメッセージが表示されるように見受けられます。メールをローカルのPC側に持ってくるには以下の方法があります。

1. レプリカ - サーバーとローカルのメールを同期を取り、同じ状況にする方法
2. アーカイブ - サーバーからメールを引き取り、ローカルのPCにコピーする方法(一方通行)

レプリカとアーカイブを併用することもできます。
http://okwave.jp/qa/q4385714.html

今回はアーカイブの方が適している思いますので、アーカイブについて解説します。

前任者がアーカイブの設定をしているかどうかは、以下の方法で分かります。
1. サーバーのメールを開く
2. [アクション - アーカイブ - 設定]を選択

ここに表示されている条件でアーカイブ(メールをローカルにコピー)しています。

実際にローカルに移動する方法でよくある方法は
1. ローカルに移動したいメールを選択
2. [アクション - アーカイブ - 選択されたアーカイブ文書]をクリック

これで条件にしたがってメールが移動されます。条件によってはサーバー上のメールだけ消して、ローカルにメールをコピーしないような条件も作成できますので、条件を確認するのをお忘れなく。(前任者がそれで設定しているのであれば、問題ないとは思いますが...。)

あとは、Notesに関する本も出版されております。バージョンは異なるかもしれませんが、基本的な考えはまったく変わりませんので、一度目を通すといいかもしれません。

http://www.amazon.co.jp/Lotus-Notes-8-5%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%AC%E3%82%A4%E3%83%89-%E5%8C%97%E6%B5%A6-%E8%A8%93%E8%A1%8C/dp/4798022942/ref=sr_1_1?ie=UTF8&s=books&qid=1284449207&sr=8-1

質問をみる限りですが、サーバー上にあるメールのサイズが大きすぎて、エラーメッセージが表示されるように見受けられます。メールをローカルのPC側に持ってくるには以下の方法があります。

1. レプリカ - サーバーとローカルのメールを同期を取り、同じ状況にする方法
2. アーカイブ - サーバーからメールを引き取り、ローカルのPCにコピーする方法(一方通行)

レプリカとアーカイブを併用することもできます。
http://okwave.jp/qa/q4385714.html

今回はアーカイブの方が適している思いますので、アーカイブ...続きを読む

QエクセルVBAからNotesでメール送信

一度、知恵袋で質問しましたが、回答に対して聞くことができないので、こちらで質問させて頂きます。

VBAでNotesからメールを送信する際、宛先に複数のアドレスを配列変数で指定すると、
2人目以降にメールが送信されません。

コードの内容はエクセルシートにあるアドレスリストのA列を順に配列にし、
重複しているアドレスを省いて配列変数(adrsarray)を作成し
配列変数に入っている複数の宛先へ、Notesからメールを送信するというものです。

以下、抜粋ですがコードを記します。

Const EMBED_ATTACHMENT As Integer = 1454
Dim nss As Object ' lotus.NOTESSESSION
Dim ndb As Object ' lotus.NOTESDATABASE
Dim ndoc As Object ' lotus.NOTESDOCUMENT
Dim rtitem As Object ' lotus.NOTESRICHTEXTITEM
Dim nemb As Object ' lotus.NOTESEMBEDDEDOBJECT
Dim fname As String
Dim r, lastr, i As Long
Dim tmp
Dim adrsarray, myarray, mydic, myitm, adrs As Variant


'A列のアドレスを配列変数adrsarrayに代入

For r = 2 To lastr
If Cells(r, 1) <> "" Then
If r = 2 Then
adrsarray = Cells(r, 1)
End If

If r > 2 Then
adrsarray = adrsarray & "," & Cells(r, 1)
End If

End If
Next

Set Dic = CreateObject("Scripting.Dictionary")

myarray = Split(adrsarray, ",")
For i = 0 To UBound(myarray)
If Not Dic.Exists(myarray(i)) Then
Dic.Add myarray(i), myarray(i)
End If
Next i

'(1)データの重複した配列を初期化し(2)で再度重複無しの配列を格納
adrsarray = ""

'(2)重複を除いて配列を作成
myitm = Dic.keys
For i = 0 To UBound(myitm)
If adrsarray = "" Then
adrsarray = myitm(i)
Else
adrsarray = adrsarray & "," & myitm(i)
End If
Next

Set Dic = Nothing


Set nss = CreateObject("Notes.NotesSession")
Set ndb = nss.GETDATABASE("", "")
ndb.OpenMail
Set ndoc = ndb.CREATEDOCUMENT()
ndoc.Subject = "データを送ります。"
ndoc.SendTo =Array(adrsarray)

ここで以下のように複数名のアドレスを指定すると
ndoc.SendTo = Array("○○@○○.com","○○@○○.com","○○@○○.com")
一斉送信できることがわかったのですが、
宛先は固定ではない為、Array(adrsarray)のように
取得した複数アドレスを入れたいのですが
私の作成したコードではうまく動作しません。

長々と申し訳ないですが
ndoc.SendTo =array(adrsarray) で送信するにはどうすればよろしいでしょうか。
ご教授よろしく御願い申し上げます。

一度、知恵袋で質問しましたが、回答に対して聞くことができないので、こちらで質問させて頂きます。

VBAでNotesからメールを送信する際、宛先に複数のアドレスを配列変数で指定すると、
2人目以降にメールが送信されません。

コードの内容はエクセルシートにあるアドレスリストのA列を順に配列にし、
重複しているアドレスを省いて配列変数(adrsarray)を作成し
配列変数に入っている複数の宛先へ、Notesからメールを送信するというものです。

以下、抜粋ですがコードを記します。

Const EMBED_ATTACHMENT ...続きを読む

Aベストアンサー

Notes の事はさっぱりわかりませんが、

> ここで以下のように複数名のアドレスを指定すると
> ndoc.SendTo = Array("○○@○○.com","○○@○○.com","○○@○○.com")
> 一斉送信できることがわかったのですが、

という事なので、

> ndoc.SendTo =Array(adrsarray)

ndoc.SendTo = myitm

にすると、どうなりますか。
(myitm 自体は、重複の無いアドレスの配列になっているようですが)



余計なお世話で、気になった箇所を何点か

> Dim r, lastr, i As Long

Long は i だけで、r, lastr は Variant だったと思います。

コード部分は抜粋で、途中提示されていない処理をされているのかもしれませんが
ひと塊の処理と考えた時、以下のような書き方(雰囲気)もあるのかも(【未検証】)
(ndoc.SendTo = myitm で動いたっていう前提があってのものになりますが)

' ・・・・・
' ・・・・・
  Dim Dic As Object
  Dim ndoc As Object
  Dim r As Long, lastr As Long
  Dim adrsarray As Variant
'  Dim adrsstring As String

' ・・・・・
' ・・・・・
  
  Set Dic = CreateObject("Scripting.Dictionary")

  For r = 2 To lastr
    If (Cells(r, 1).Value <> "") Then
      Dic.Item(Cells(r, 1).Value) = Null
    End If
  Next

  If (Dic.Count = 0) Then
    ' アドレスがなかった場合 Exit ? する
    ' ・・・なら、後始末を忘れずに
  End If

  adrsarray = Dic.keys
  Set Dic = Nothing

'  adrsstring = Join(adrsarray, ",") ' カンマ(,)区切りで1つの文字列に
' ・・・・・
' ・・・・・
  ndoc.SendTo = adrsarray
' ・・・・・


Dic.Item(キー) = 値
では、
キーが登録済みなら値を設定
キーが登録されていなかったら、キーを登録してから値を設定
だったと思います。
今回、値は不要と思うので、Null にしてみました

※ Exists & Add との性能比較・・・・は、わかりません

Notes の事はさっぱりわかりませんが、

> ここで以下のように複数名のアドレスを指定すると
> ndoc.SendTo = Array("○○@○○.com","○○@○○.com","○○@○○.com")
> 一斉送信できることがわかったのですが、

という事なので、

> ndoc.SendTo =Array(adrsarray)

ndoc.SendTo = myitm

にすると、どうなりますか。
(myitm 自体は、重複の無いアドレスの配列になっているようですが)



余計なお世話で、気になった箇所を何点か

> Dim r, lastr, i As Long

Long は i だけで、r, lastr は Variant だったと思いま...続きを読む

QEXCELの表をNotesメール本文に貼り付けたい

過去の質問で、同じようなものがあったのでその通りにしてみたのですが、うまくいきません。
excel2003作成の表の一部をメールの本文に表がずれないように貼りつけたいのです。
解決策として、
1.[ファイル] メニューの [送信] をポイントし、[メールの宛先] をクリックします。

2.ブック全体または現在のシートのどちらを送信するかを確認するメッセージが表示されたら、[メッセージ本文として現在のシートだけを送信] をクリックします。

と説明があるのですが、2の選択ができません。
1の時点で、、[メールの宛先(校閲用)]か、、[メールの宛先(添付ファイル)]を選択させられます。

Lotus Notes6.5を使用しています。

どうぞ宜しくお願いします。

Aベストアンサー

シート=表計算ソフトのエクセルで使う縦の「列」、横の「行」という形でマス目の入った計算表が「シート」。表計算ソフト一般では「ワークシート」と呼ばれることが多い。あるいは表計算、一覧表という意味から「テーブル」ということもある。また複数のシートを1つのファイルとしてまとめたものが「ブック」。ファイル=File。

QLotus NotesのURLリンクをIEかFirefoxで見たいです

会社でLotus Notesを使っております。しかし設定の所為かMailに書いてあるURLで入るとWebがうまく見えないというか、作動しません。たとえば何か届け出とかをしようとすると、完全な操作ができないことがあります。(登録するときに最後にMailを送れないなど。)ここでもちろん会社の業務上不都合なところへ入って不都合な作業をしているわけではありません。
面倒なのでリンクはIEとかFirefoxで起動させたいのですが、可能でしょうか?

Aベストアンサー

できます。
Notesのバージョンがわからないのですが、R7まではロケーション文書の [ブラウザ] - [インターネットブラウザ] でInternet Explorerを選択すればいいです。
R8は[ファイル] - [プリファレンス] で。


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

人気Q&Aランキング