2017-08-29 13 views
0

以下のコードは、ロータスノートからエクセルシートに電子メールを読み込んで挿入します。しかし、私は蓮のノートデータベースを読んでその内容をコピーしてリッチテキストとしてワード文書に貼り付けたいと思っています。Lotus Notesデータベースのビューとペーストをワード文書にコピーする

このコード行を変更する必要があると仮定します。

Set nitem = .GetFirstItem("Body") 

これについてはどのような方法が最適でしょうか?

Public Sub Lotus_Notes_Current_Email4() 

Dim NSession As Object 'NotesSession 
Dim NUIWorkSpace As Object 'NotesUIWorkspace 
Dim NUIdoc As Object 'NotesUIDocument 
Dim nitem As Object 'NotesItem 
Dim lines As Variant 

Set NSession = CreateObject("Notes.NotesSession") 
Set NUIWorkSpace = CreateObject("Notes.NotesUIWorkspace") 

Set NUIdoc = NUIWorkSpace.CurrentDocument 
If Not NUIdoc Is Nothing Then 
    With NUIdoc.Document 
     Set nitem = .GetFirstItem("Body") 
     If Not nitem Is Nothing Then 
      lines = Split(nitem.Text, vbCrLf) 
      Sheets(1).Activate 
      Range("H8").Resize(UBound(lines) + 1, 1).Value = Application.WorksheetFunction.Transpose(lines) 
     End If 
    End With 
Else 
    MsgBox "Lotus Notes is not displaying an email" 
End If 

Set NUIdoc = Nothing 
Set NUIWorkSpace = Nothing 
Set NSession = Nothing 

End Sub 

答えて

0

あなたの前提は正しくありません。スクリプト全体を書き直す必要があります。

ビューの内容をコピーする場合は、NotesViewオブジェクトを開いて開始する必要があります。現在のコードがNotesDocumentオブジェクトを開いています。 NotesViewを取得するには、CurrentViewプロパティNotesUIWorkspaceを使用してNotesUIViewオブジェクトを取得し、そのオブジェクトをViewプロパティとして使用します。

NotesViewオブジェクトを作成したら、columnsプロパティを使用してデータを取得したいと思うかもしれませんが、それ以外の方法があります。あなたが何をしても、あなたは自分でデータのフォーマットを処理しなければならなくなります。

関連する問題