Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

EmbeddedObjects,attachments and Excel

Posted on 2000-03-22
14
Medium Priority
?
384 Views
Last Modified: 2013-12-18
Hi all!
I am sending an .xls document throught Excel to a Mail-in database. There i want to "take" this embeddedobjects (or attachments, what ever) and embed them in a richtext field of a new document.
In the properties of the doc containing the ecel file, HASEMBEDDED=True but EMBEDDEDOBJECTS is empty so when i try :
forall o in doc.embeddedobjects
it says Type Mismatch.
Can some one give me a code to do this?
Thank you,
Koray.
0
Comment
Question by:koray_uygun
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 6
14 Comments
 

Author Comment

by:koray_uygun
ID: 2648732
Adjusted points from 100 to 150
0
 

Author Comment

by:koray_uygun
ID: 2663680
Adjusted points from 150 to 200
0
 

Author Comment

by:koray_uygun
ID: 2706808
Adjusted points from 200 to 300
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 3

Expert Comment

by:Simon_Hendry
ID: 2729229
If the document was mailed into the database via a excel to a mail in database then I think the attachment will be in the body field of the document not in the document itself

So you should change the code to

Dim Wspace As New NotesWorkspace
Dim uiDoc As Notesuidocument
Dim Doc As NotesDocument
Dim rtitem As NotesRichTextItem


Set uiDoc = Wspace.CurrentDocument
Set Doc = uiDoc.Document
Set rtitem = Doc.GetFirstItem( "Body" )

forall o in rtitem.embeddedobjects
.......
End Forall


Give this a go and get back to me....
0
 

Author Comment

by:koray_uygun
ID: 2729762
Adjusted points from 300 to 350
0
 

Author Comment

by:koray_uygun
ID: 2729763
Sorry Simon, the problem is that this attachment is not in the body field, that's why i can't "take" it. The attachment is like "under" the document separeted from it by an horizontal line.
Thank you for trying,
Koray.
0
 
LVL 3

Expert Comment

by:Simon_Hendry
ID: 2732457
Ok , Sorry now I understand your question... Yes this is a tricky one because the embeddedobjects array does not contain these attachments , the same type of thing occurs when you upload files from the web via an upload control... Here the code to use...


Dim Wspace As New NotesWorkspace
Dim uiDoc As Notesuidocument
Dim Doc As NotesDocument
Dim rtitem As NotesRichTextItem

     Set Doc = uiDoc.Document
     Forall i In doc.Items
          If i.type = Attachment Then
               Set nitem = doc.GetFirstItem(i.name)
               Set emb = doc.GetAttachment(i.values(0))
               Set rtitem=doc.getfirstitem("Body")
               Call emb.extractfile("C:\" & emb.name)
               Call rtitem.embedobject(EMBED_Attachment, "", "C:\" & emb.name, emb.name)
               Call emb.remove
          End If
     End Forall

This code gets the attahment from "under" the document seperator and moves it into the body field of the document... Hope I got it right this time
0
 
LVL 3

Expert Comment

by:Simon_Hendry
ID: 2732460
In the first line it should be notesuiworkspace not notesworspace... Sorry typo
0
 

Author Comment

by:koray_uygun
ID: 2733640
Sorry again Simon,
i have tried this one already and it doesn't work. There isn't any item whos type is attachment in the incoming mail. The attachment file is in an item called $File whos type is not Attachment and when i try to "take" the value of $File, the script can't find the item in the document, it is really strange.
Have a nice day,
Koray.
0
 
LVL 3

Expert Comment

by:Simon_Hendry
ID: 2741609
I am now fascinated by this , is it possible that you can e-mail me a copy of this database with a single example document in it ??

If it is to secure I understand

Simon Hendry
0
 

Author Comment

by:koray_uygun
ID: 2741733
Ok, i'll send a copy tuesday, Have a nice "Paques" (eggs) week-end,
Koray.
0
 
LVL 3

Expert Comment

by:Simon_Hendry
ID: 2749913
shendry@families.qld.gov.au
0
 
LVL 3

Accepted Solution

by:
Simon_Hendry earned 1400 total points
ID: 2750762
Hi again..

I got your database and did the following

Updated the MemoDeBase form and added a Richtext Editable field called "Body" and a editable text field called "Converted"

I then wrote a agent to go through document in the database that used the MemoDebase form and haven't yet been converted and moved the attached file from the form to the body field.. with the following code

'Code starts

     Dim Sess As New NotesSession
     Dim ThisDb As NotesDatabase
     Dim Coll As NotesDocumentCollection
     Dim Search As String
     Dim Doc As NotesDocument
     Dim rtitem As NotesRichTextItem
     
     Search = "Form=""MemoDeBase"" & Converted!=""Yes"""
     
     Set ThisDb = Sess.CurrentDatabase
     Set Coll = ThisDb.Search(Search,Nothing,0)
     
     For Counter =1 To Coll.Count
         
          Set doc = Coll.Getnthdocument(Counter)
          Forall i In doc.Items
               If i.type = Attachment Then
                    Set nitem = doc.GetFirstItem(i.name)
                    Set emb = doc.GetAttachment(i.values(0))
                    Set rtitem=doc.getfirstitem("Body")
                    Call emb.extractfile("C:\" & emb.name)
                    Call rtitem.embedobject(EMBED_Attachment, "", "C:\" & emb.name, emb.name)
                    Call emb.remove
               End If
          End Forall
          Doc.Converted = "Yes"
          Call Doc.Save(True,False)
         
     Next Counter


' Code Ends

This code worked for me with my notes client version 4.6.2 and versions 4.5.1 ... It moved the attached file from the document below the line to the Body field... If after you do this it does not work I am unsure why.. There are some documents in the Knowledge base that mention problems with doing this in versions prior to 4.5.2 , but as I say I had no problem with 4.5.1...

Give it a go...

If it doesn't work have a look at knowledge base at

http://support.lotus.com/sims2.nsf/802ee480bdd32d0b852566fa005acf8d/79ef1db0ab683fb88525643400569cea?OpenDocument

This is a document ( and link to other documents ) that talk about this sort of problem...

Hope I have helped

Simon Hendry
0
 

Author Comment

by:koray_uygun
ID: 2750863
Halleluiah!!!
Thank you very much.
By the way, do you think there's work for a french Lotus Notes certified developper in australia?
0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Lack of Storage capacity is a common problem that exists in every field of life. Here we are taking the case of Lotus Notes Emails, as we all know that we are totally depend on e-communication i.e. Emails. This article is fully dedicated to resolvin…
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Suggested Courses

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question