2016-06-21 5 views
0

나는 VBA 및 코딩 분야에서 완전히 새롭다. 연꽃 노트 데이터베이스의 특정 필드 (alias_3)에 pdf (Print.pdf)를 첨부하고 싶지만 424 오류가 발생했습니다.Excel VBA 런타임 오류 '424'객체 필요

내가 잘못하고있는 제안이 있습니까?

Sub aa() 
Dim alias_3 As String 
Set notesface = CreateObject("Notes.NotesSession") 


    Set makeup = Nothing 
Set makeup = notesface.GetDatabase("C2S2/ConsolidatedContracts", "p_dir\bpcmrtuat.nsf") 
Set docu = makeup.GetDocumentByID("00002BE6") 

Attachment1 = "C:\Users\Desktop\aloxa\Print.pdf" 
rtitem = docu.HasEmbedded 
For Each test2 In docu.GetItemValue("alias_3") 
    test = test2.HasEmbedded ----> here i am getting the error 





    Set EmbedObj1 = docu.alias_3.embedobject(1454, "attachment1", Attachment1, "") 
    Exit For 
Next test2 
Set EmbedObj1 = test.embedobject(1454, "", Attachment1, "") 
Set AttachME = test.CreateRichTextItem("attachment1") 
docu.GetItemValue ("alias_3") 
If Attachment1 <> "" Then 
Set AttachME = docu.CreateRichTextItem("Attachment1") 
Set EmbedObj1 = AttachME.embedobject(1454, "attachment1", Attachment, "") 
On Error GoTo 0 
End If 
ExitSub: 
End Sub 
+0

: 전체 코드는이 라인을 줄일 수있다 (다른 개발자는 "기본값"을 사용하여 무슨 뜻인지 알 수 있도록 나는 변수 이름을 대체). pdf)을 "alias_3"필드에 입력하면 양식이 열리고 저에게 저장됩니다. – ChristosV

답변

0

Lotus Note documentation, GetItemValue() 복귀 문자열 문자열의 배열 또는 복식의 배열은 그 속성을 갖는 HasEmbedded 중에 어느 방법.

+0

어떻게 할 수 있습니까? – ChristosV

0

귀하의 코드는, 다른 항목에 물건을 부착하여 항목의 값을 받고 믹스 등 모든

첫째 : 당신은 정말 당신의 문서가 만들어지는 형태의 디자인에서 "alias_3"라는 richtextitem이 있나요 의? 또는 코드의 두 번째 부분에서와 같이 항목 "Attachment1"의 이름입니까? 또는 기본 메일 데이터베이스입니까? 그러면 항목의 이름은 "본문"이됩니까?

다음 코드에서 "alias_3"을 해당 itemname으로 바꾸십시오. 내가 (Prind을 다스 려하고 첨부 파일을 넣을

Set ses = CreateObject("Notes.NotesSession") 
Set db = ses.GetDatabase("C2S2/ConsolidatedContracts", "p_dir\bpcmrtuat.nsf") 
Set doc = db.GetDocumentByID("00002BE6") '- This line is dangerous, because the noteid can change easily... 
strAttachmentPath = "C:\Users\Desktop\aloxa\Print.pdf" 
Set rtItem = doc.GetFirstItem("alias_3") 
If not rtItem.HasEmbedded() then 
    Call rtItem.embedobject(1454, "", strAttachmentPath , "") 
Else 
    '- what do you want to do, if there is already an embedded attachment? 
End if 
Call doc.Save(True, True, True) 
+0

탱크를 대단히 감사합니다. – ChristosV

+0

탱크를 대단히 고맙게 생각합니다. 아마도 alias_3은 richtextitem이 아니겠습니까? 내가 어떻게 확인할 수 있니? 또한 이것은 메일이 아니지만 아래 라인에있는 pdf 파일을 첨부하는 필드가있는 데이터베이스 438 '이 아닌 경우 rtItem.HasEmbedded() Then' – ChristosV

+0

어떤 유형의 항목인지 확인하려면 다음과 같이 데이터베이스를 열면됩니다. 로터스 디자이너와 –