Page 1 sur 1

recup fichier en OLE

MessagePublié: 28 Juin 2003 à 20:13
par jose
BonjourIl me semble avoir vu sur le forum un script permettant de récupérer dans une base notes tous les fichiers d'un répertoire. Les fichiers étaient récupérés en tant qu"attachement, est il possible de récupérer les fichiers en tant qu'objet. Si oui est ce quelqu'un possède un exemple de script.Merci d'avance à tous.

Re: recup fichier en OLE

MessagePublié: 29 Juin 2003 à 12:11
par Stephane Maillard
Bonjour,Dim workspace As New NotesUIWorkspaceDim doc As NotesDocumentDim uidoc As NotesUIDocument Dim handle As VariantSet uidoc = workspace.CurrentDocumentSet doc = workspace.CurrentDocument.DocumentCall uidoc.GotoField( "testrtf" ) call uidoc.CreateObject _("MyName","","c:\temp\WordTemplates\test.doc")Par contre je n'est rien trouvé pour l'affichage en forme d'icône, on est obligé de la faire avec le clic droit sur le fichier "Display as -> icon", sur Notes.net il dise que pour l'affichage en icône il faut utilisé les attachements.[%sig%]

Re: recup fichier en OLE

MessagePublié: 29 Juin 2003 à 21:17
par jose
Merci pour ta réponse, mais est ce que tu possède le script complet qui permet de sélectionner le répertoire (à travers une boite de dialogue) que l'on veut importer dans la base en cours. Merci

Re: recup fichier en OLE

MessagePublié: 30 Juin 2003 à 09:09
par Stephane Maillard
Bonjour,Voici le code de recherche de fichier et de création de document avec le nom et le fichier attaché.Personnellement je l'ai mis dans une action :Private Const MAX_PATH = 260Private Const INVALID_HANDLE_VALUE = -1Private Type FILETIMEdwLowDateTime As LongdwHighDateTime As LongEnd TypePrivate Type WIN32_FIND_DATAdwFileAttributes As LongftCreationTime As FILETIMEftLastAccessTime As FILETIMEftLastWriteTime As FILETIMEnFileSizeHigh As LongnFileSizeLow As LongdwReserved0 As LongdwReserved1 As LongcFileName As String * MAX_PATHcAlternate As String * 14End TypeDeclare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (Byval lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As LongDeclare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (Byval hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As LongSub Click(Source As Button)Call recherchefichier("C:")End SubFunction RechercheFichier(sSearch As String) As StringDim iNum As LongDim i As LongDim iDeb As LongDim hFile As LongDim tFindFile As WIN32_FIND_DATADim bTrouve As VariantDim sTmpExt As StringDim sExt(3) As StringsExt(0) = "XLS" ' Extension ExcelsExt(1) = "PPT" ' Extension PowerPointsExt(2) = "DOC" ' Extension WinwordsExt(3) = "MDB" ' Extension AccesshFile = findfirstfile(sSearch + "\*.*", tFindFile)bTrouve = hFile <> INVALID_HANDLE_VALUEDo While bTrouveIf tFindFile.dwFileAttributes = 32 Or tFindFile.dwFileAttributes = 1 Thenpos = Instr(tfindfile.cfilename, Chr$(0))tmpSearch = Left$(tfindfile.cfilename, pos - 1)sTmpExt = Right$(Ucase(tmpSearch), 3)Select Case sTmpExtCase sExt(0)RechercheFichier = sSearch & "\" & tmpSearchCall CreationDocument(RechercheFichier, Cstr(tmpSearch))Case sExt(1)RechercheFichier = sSearch & "\" & tmpSearchCall CreationDocument(RechercheFichier, Cstr(tmpSearch))Case sExt(2)RechercheFichier = sSearch & "\" & tmpSearchCall CreationDocument(RechercheFichier, Cstr(tmpSearch))Case sExt(3)RechercheFichier = sSearch & "\" & tmpSearchCall CreationDocument(RechercheFichier, Cstr(tmpSearch))End SelectEnd Ifinum = inum + 1bTrouve = FindNextFile(hFile, tFindFile)LoopEnd FunctionSub CreationDocument(sCheminAndFichier As String, sFichier As String)Dim session As New NotesSessionDim db As NotesDatabaseDim doc As NotesDocumentDim rtitem As NotesRichTextItemDim object As NotesEmbeddedObjectSet db = session.CurrentDatabaseSet doc = New NotesDocument( db )Set rtitem = New NotesRichTextItem( doc, "FichierAttacher" )Set object = rtitem.EmbedObject(EMBED_ATTACHMENT, "", sCheminAndFichier)doc.Form = "Liste Fichier"doc.NomFichier = sFichierCall doc.Save( True, True )End SubJ'ai un masque qui s'appel 'Liste Fichier' avec un champs 'NomFichier' en texte standard et un autre 'FichierAttacher' en RichText.[%sig%]