
よろしくご教授おねがいします。
業務でLotusNotesDominoを使うことになりました。バージョンは5だったかと思います。とにかく古いバージョンでした。
LotusNotesが入ったパソコン一式を用意されまして、主に社内/社外メールのメールソフト用に現在使うことになっているのですが、雑多なメールをLotus以外の様々なツールにひも付けする必要性がどうしてもあり、苦労してます。
受信メール本文や送信情報は、書き出し、一括書き出しでtxtファイルに変換できるので、あとはCだのPerlだので好きなように体裁を整えるプログラムを組めましたのでまず問題ありませんでした。
ところが、添付ファイルの書き出しに問題がありまして、書き出したtxtファイルには添付ファイル名が入っているものと、いないものがあるのです。入っているものはその名前を取得できるので、融通がきくのですが、添付ファイル名が入っていないものは、どうしようもありません。
書き出しを行う前、または後に、一つ一つ受信メール(または書き出しメール)を開いて手動で添付ファイル名を追加するしかないのです。
これはさすがにきついので、なにか方法がないか、アドバイスを質問させていただいている次第です。
ちなみに、Lotusのしくみ自体、まったく理解していません。どうやらデータベースやバックアップがlan上のどこかにあるらしいというくらいの知識です。また、フリーソフトやプラグインについても入れていいのかどうか、基本変なソフトは社用パソコンには入れれないですし、Lotusを知らない私にはそういうもののリスク度は判断はできません。ですから、そういうのがどのていどか安全だと十分説明いただければプラグイン等も検討できるでしょうし、それが叶わなければ自力でなんとかしようと考えています。
5から8などへのバージョンアップが普通にできてそれで解決できるのならそれでもいいです。普通にというのは、勝手にそういうのをやってもいいようなソフトなのか、無料なのか、たとえばブラウザとかだと、常に最新のを入れるのがむしろ常識なので勝手にアップグレードしてもいいですし、Adobereaderとかもそうですが、LotusNotesはどうなのかという疑問です。
ちなみに、そういうのは社内でそれに精通している人に聞くのが筋でしょうが、そうもできない(色んな意味でそういうことはしない方がいい)環境ですのでここで質問させていただいている次第です。
話をもどします。
素人ながら、イメージとしては、メールに入っている添付ファイル名を何らかの形で簡単に取得する方法があるのならそれを教えていただきたい、もしくは、designerというツールでそれが可能かつ独学で10~100時間程度でその部分だけを作れるかつLotusのlanサーバーやソフトをいじったり追加インストールしたりしなくていいのなら、そういう方法でもいい、と考えています。
Lotus以外のメールソフトへの転送、そこから添付ファイル(名)ゲットという方法は、それが自分のパソコン内で完結するハイセキュリティーな方法ならそれもありだと考えていますが、pCが普通のwindowsですのでメールサーバーは入っていませんから可能なのかどうか疑問です。
言い忘れましたが、添付ファイル自体は取得する必要はないです。添付ファイルは必要そうなら受信時にそれだけ直接保存で落としますし、基本サーバーに置いとくつもりですので。
受信メールに添付されているファイル名だけが色んな意味で必要だということです。
よろしくおねがいします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.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文を使って場合分けする必要があります。
No.2
- 回答日時:
このレプリケーション機能もバッテイング文書が発生してよろしくない機能なんで本来止めるべきなのですが、サーバー側を更新しない設定でレプリケーションするには問題ないでしょう。
設定で相互の更新に関する設定が出来ます。それにNotesにはレプリケーションとは別にコピー機能もあるので、コピーを使えばローカルに独立したDBを作る事が出来ます。サーバに更新は出来ません。
それとExcelのVBAからサーバーを参照するのは、別にサーバー側をいじるという事ではありません。ローカルのNotesクライアントからアクセスするのと変わりません。ですのでローカルにコピーしたDBに対して作成し、十分テストして上手く動いたら、参照先をサーバーに変更すればよいのです。
サーバーのDBにスクリプトを作るわけにいかない場合は、なおさらExcelなどからの参照が有効だと思います。
ありがとうございました。
大変勉強になりました。アーカイブは完全移動ということでしょうか。アドバイスいただいたとおり、まずはコピー機能を探してそれでトライしてみようとおもいます。
ありがとうございました。
No.1
- 回答日時:
もし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つレプリケーションやアーカイブをローカルに(作れるのなら)作ってもいいのでしょうか?ホントに基本的な質問ですが、いちユーザーが気軽に作っていいのか悪いのかさえネットでみても確証が得られず謎なので、ご教授願えれば大変助かります。今回の場合、レプリケーションまでせずともアーカイブでいいような気もしますが、アーカイブすると元データがなくなったりすると考えどころです。アーカイブは完全な移動でしょうか?それともデータの複製ができるのでしょうか?その点もご教授願えれば大変助かります。
どうぞよろしくおねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Outlook(アウトルック) アイホンで撮った写真を一枚だけPCに移し画像を縮小してWebメールに添付して送信する方法 1 2022/04/22 15:33
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- 会社・職場 職場パソコンから書式をコピーしたい 5 2022/09/17 11:12
- Windows 10 パソコンが使えず困ってます!(Microsoftアカウントでログイン後、PINコードに関するエラー) 2 2023/03/17 19:09
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Notesのメールのローカルへの保...
-
Lotus Notes R5 『データベ...
-
NOTES レプリカとアーカイブの違い
-
Lotus Notesでフォルダを含む古...
-
Outlookのアドレス帳のグループ...
-
エクセルのスクロールバーが二...
-
CCのまま返信したい
-
下書きのgmailを一斉送信する方法
-
PDF/Aの見分け方について
-
メールについて
-
Word 文字を網かけ表示しても...
-
町内会回覧板が戻って来ない・・・
-
あやまって【Ctrl+D】を押して...
-
Win8で各ドライブ残量の棒...
-
ノーツのログ取得(いつ、誰が...
-
Excelでグループ化したオートシ...
-
最近、左利きYouTuberさん多い...
-
公文書と事務連絡の違いについて
-
Lotus Notes にて受信したメー...
-
「Mail」下書きの編集方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Notesのメールのローカルへの保...
-
Lotus Notes R5 『データベ...
-
Lotus Notesでフォルダを含む古...
-
NOTES レプリカとアーカイブの違い
-
Notesメールの書式設定について
-
LotusNotes添付ファイル名取得...
-
ノーツR5の個人メールアドレ...
-
ノーツ認証の有効期限期間変更...
-
ノーツDBをテンプレート化
-
ノーツ入門サイト
-
SNSが簡単に作れるサイトを発見...
-
Outlookのアドレス帳をノーツの...
-
ノーツでの検索
-
メール共有について教えてください
-
ノーツのDBでエラー
-
Outlookのアドレス帳のグループ...
-
公文書と事務連絡の違いについて
-
あやまって【Ctrl+D】を押して...
-
Thunderbird メール下書き保存...
-
エクセルのスクロールバーが二...
おすすめ情報