![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
#6
|
|||
|
|||
![]() Either: For z=1 to CountWhatever set att=objAttachments(z) Next or: For Each att in objAttachments z=z+1 next -- Best regards Michael Bauer - MVP Outlook : Outlook Categories? Category Manager Is Your Tool : VBOffice Reporter for Data Analysis & Reporting : http://www.vboffice.net/product.html?pub=6&lang=en Am Tue, 17 Nov 2009 12:53:02 -0800 schrieb hlock: I'm making progress, but my (z) numbers aren't increasing with the addition of attachments: Dim att As Outlook.Attachment Dim z As Integer Dim attfile As String 'For z = 1 To lngCount z = 1 For Each att In objAttachments attfile = att.filename attfile = Replace(attfile, " ", "_") attfile = tempdir & "\" & attfile Print #fileNum, "File" & (z + 1) & "=" & attfile Print #fileNum, "Desc" & (z + 1) & "=" & "This is the attachment#" & (z) Next att I'm getting: File2=C:\temp\outlookimport\AdjusterReport.pdf Desc2=This is the attachment#1 File2=C:\temp\outlookimport\AdjusterPhotos.pdf Desc2=This is the attachment#1 How do I get the (z) numbers to increase? Thanks!!! "hlock" wrote: Thank you. I apologize for the double post. For some reason my postings are not showing up for me until the next day. Nontheless, where I run into problems is further down in creating the tower.ini file. Dim z As Integer For z = 1 To lngCount Print #fileNum, "File" & (z + 1) & "=" & attachments (z) 'File2=C:\TMP\c2.bmp Print #fileNum, "Desc" & (z + 1) & "=" & attachdescs(z) 'description Next z Here we have to run through the attachments and list them along with a description until all attachments have been listed. For example, there are 3 attachments (note the first file is the email) - AdjusterReport.pdf, AdjusterPhotos.pdf, and Litigation.pdf. In creating the ini file, the attachments need to be listed as follows: File2=C:\temp\outlookimport\AdjusterReport.pdf Desc2=This is the attachment#1 File3=C:\temp\outlookimport\AdjusterPhotos.pdf Desc3=This is the attachment#2 File4=C:\temp\outlookimport\Litigation.pdf Desc4=This is the attachment#3 How would I accomplish this? "Michael Bauer [MVP - Outlook]" wrote: objAttachments is already a collection of attachments. There's no need to create an array for it, instead of a loop through the array just loop through the collection: Dim Att as Outlook.Attachment For Each Att in objAttachments ' do anything here with the attachment Next -- Best regards Michael Bauer - MVP Outlook : Outlook Categories? Category Manager Is Your Tool : VBOffice Reporter for Data Analysis & Reporting : http://www.vboffice.net/product.html?pub=6&lang=en Am Mon, 16 Nov 2009 22:19:04 -0800 schrieb hlock: I am having to recreate lotus notes code into outlook code and am finding it very difficult since I don't know coding very well. It's taken me a long time just to get where I am using snippets from what I have found from others. I know that what I want to do is for each attachment in a single email, I want to save it off, "remember" the path and filename and create a description. Then I need to use the path and filename and the description later during the creation of an .ini file. However, I'm not doing it correctly. I thought I should be using the string split(), but I am getting an error msg. I have indicated the error msg below. Since our IT dept doesn't have a lot of time to work on this, I'm trying to do it myself (lol!) Any advice would be much appreciate. If you would like the lotus notes script to be posted to see what was originally intended, let me know as I am not completely done with this yet. I am posting the whole code as I know that it is fraught with errors. However, it's a work in progress. Option Explicit Public Sub initialize() Dim fso Dim fil Dim objapp As Outlook.Application Dim ns As Outlook.NameSpace Dim ext As String Dim tempfile As String Dim tempdir As String Dim path As String Dim del As String Dim app As String Dim objitem As Object Dim strsubject As String Dim filename As String Dim objAttachments As Outlook.attachments Dim i As Long Dim lngCount As Long Dim strfile As String Dim strsender As String Dim strrecipient As String Dim strCC As String Dim strBCC As String Dim intsent As Date Dim strbody As String Set fso = CreateObject("Scripting.FileSystemObject") Set ns = GetNamespace("MAPI") Set objapp = CreateObject("Outlook.application") Select Case TypeName(objapp.ActiveWindow) Case "Explorer" Set objitem = objapp.ActiveExplorer.Selection.item(1) Case "Inspector" Set objitem = objapp.ActiveInspector.CurrentItem Case Else ' End Select tempdir = ("c:\temp\outlookimport") CheckFolder strsubject = objitem.Subject strsender = objitem.SenderName strrecipient = objitem.To strCC = objitem.CC strBCC = objitem.BCC intsent = objitem.SentOn strbody = objitem.Body filename = StripIllegalChar(strsubject) If fso.GetExtensionName(filename) = "" Then filename = filename & ".rtf" End If ext = fso.GetExtensionName(filename) path = fso.BuildPath(tempdir, filename) objitem.SaveAs path, olRTF Dim attachments() As String Dim attachdescs() As String Set objAttachments = objitem.attachments attachments = Split(objAttachments, ",") 'getting error msg here invalid procedure call or argument attachdescs = Split(strsubject, ",") 'getting error msg here invalid procedure call or argument lngCount = objAttachments.Count If lngCount 0 Then For i = lngCount To 1 Step -1 ReDim Preserve attachments(UBound(attachments) + 1) ReDim Preserve attachdescs(UBound(attachdescs) + 1) strfile = objAttachments.item(i).filename strfile = Replace(strfile, " ", "_") strfile = tempdir & "\" & strfile objAttachments.item(i).SaveAsFile strfile Next i End If Dim towfile As String Dim fileNum As String towfile = tempdir & "\tower.ini" fileNum = FreeFile Open towfile For Output As fileNum Open towfile For Output As fileNum Print #fileNum, "[Group1]" Print #fileNum, "Desc=" & filename Print #fileNum, "MultiPage=Yes" Print #fileNum, "DeleteWhen=Always" Print #fileNum, "DefaultApp=email" Print #fileNum, "ShowDesc=Yes" Print #fileNum, "EmailImport=Yes" Print #fileNum, "MAIL_FROM=" & strsender Print #fileNum, "MAIL_TO=" & strrecipient ' Adding the indexing info here If strCC "" Then Print #fileNum, "MAIL_CC=" & strCC Else Print #fileNum, "MAIL_CC=NULL " End If If strBCC "" Then Print #fileNum, "MAIL_BCC=" & strBCC Else Print #fileNum, "MAIL_BCC=NULL" End If Print #fileNum, "MAIL_DATE=" & intsent If filename "" Then Print #fileNum, "MAIL_SUBJECT=" & filename Else Print #fileNum, "MAIL_SUBJECT=NULL" End If If lngCount = 0 Then Print #fileNum, "NumberOfFiles=1" Print #fileNum, "File1=" & filename Print #fileNum, "Desc1=" & strsubject Else Print #fileNum, "NumberOfFiles=" & lngCount + 1 Print #fileNum, "File1=" & filename Print #fileNum, "Desc1=" & strsubject Dim z As Integer For z = 1 To lngCount Print #fileNum, "File" & (z + 1) & "=" & attachments(z) 'File2=C:\TMP\c2.bmp Print #fileNum, "Desc" & (z + 1) & "=" & attachdescs(z) 'This is the message body Next z End If Print #fileNum, "[General]" Print #fileNum, "NumberofGroups=1" Close fileNum 'Call IDMImport(towfile) 'fso.DeleteFile path, True 'Set fso = Nothing End Sub Function StripIllegalChar(StrInput) Dim RegX As Object Set RegX = CreateObject("vbscript.regexp") RegX.Pattern = "[\" & Chr(34) & "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\\\?\/\,]" RegX.IgnoreCase = True RegX.Global = True StripIllegalChar = RegX.Replace(StrInput, "") ExitFunction: Set RegX = Nothing End Function Sub CheckFolder() Dim fso Dim fol As String fol = ("c:\temp\outlookimport") Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FolderExists(fol) Then fso.CreateFolder (fol) End If End Sub . |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Using Array for Attachments? | hlock | Outlook and VBA | 1 | November 17th 09 06:33 PM |
Read all folders into an array | Martin@att | Outlook and VBA | 2 | November 5th 08 04:07 PM |
iterating an array | Jade | Outlook and VBA | 1 | July 9th 08 08:11 PM |
Array Problems | Dan Allason | Outlook - Using Forms | 2 | February 21st 07 03:43 PM |
Convert Outlook.Attachment to Byte() array | Steller | Add-ins for Outlook | 1 | July 26th 06 09:48 PM |