ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   adding a string of data to an array (https://www.excelbanter.com/excel-programming/417835-adding-string-data-array.html)

R Tanner

adding a string of data to an array
 
Hi,

I am trying to cycle through a series of files in a folder and if the
filename does not meet my criteria, then I want to add the filename to
my array. This is my loop. How do I add the filename to my array?

Sub ParseTextFiles()

Dim MyFile As String
Dim FSO As FileSystemObject
Dim MyFolder As Object
Dim ObjFile As Object
Dim colFiles As Object
Dim MyParsedMessage() As String
Dim MyParsedDate As String



MyFile = "Z:\Drop Box\robin.tanner\FortexRejects"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = FSO.GetFolder(MyFile)
Set colFiles = MyFolder.Files

For Each ObjFile In colFiles
MyParsedDate =
Application.WorksheetFunction.Substitute(Left(ObjF ile.Name, 10), ".",
"/")
If Not IsDate(MyParsedDate) Then
MyParsedMessage(i) = ObjFile.Name
End If
Next

MsgBox MyParsedMessage(1:i)


End Sub

Jim Thomlinson

adding a string of data to an array
 
You need a dynamic array. This is untested but it sould be close. I
personally would have used a collection of file objects but to each his own...

Sub ParseTextFiles()

Dim MyFile As String
Dim FSO As FileSystemObject
Dim MyFolder As Object
Dim ObjFile As Object
Dim colFiles As Object
Dim MyParsedMessage() As String
Dim MyParsedDate As String
Dim lng as long

MyFile = "Z:\Drop Box\robin.tanner\FortexRejects"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = FSO.GetFolder(MyFile)
Set colFiles = MyFolder.Files

For Each ObjFile In colFiles
MyParsedDate =
Application.WorksheetFunction.Substitute(Left(ObjF ile.Name, 10), ".",
"/")
If Not IsDate(MyParsedDate) Then
Redim Preserve MyParsedMessage(lng)
MyParsedMessage(lng) = ObjFile.Name
lng = lng + 1
End If
Next

for lng = lbound(MyParsedMessage) to ubound(MyParsedMessage)
MsgBox MyParsedMessage(1:i)
next lng
End Sub

--
HTH...

Jim Thomlinson


"R Tanner" wrote:

Hi,

I am trying to cycle through a series of files in a folder and if the
filename does not meet my criteria, then I want to add the filename to
my array. This is my loop. How do I add the filename to my array?

Sub ParseTextFiles()

Dim MyFile As String
Dim FSO As FileSystemObject
Dim MyFolder As Object
Dim ObjFile As Object
Dim colFiles As Object
Dim MyParsedMessage() As String
Dim MyParsedDate As String



MyFile = "Z:\Drop Box\robin.tanner\FortexRejects"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = FSO.GetFolder(MyFile)
Set colFiles = MyFolder.Files

For Each ObjFile In colFiles
MyParsedDate =
Application.WorksheetFunction.Substitute(Left(ObjF ile.Name, 10), ".",
"/")
If Not IsDate(MyParsedDate) Then
MyParsedMessage(i) = ObjFile.Name
End If
Next

MsgBox MyParsedMessage(1:i)


End Sub


R Tanner

adding a string of data to an array
 
On Sep 29, 3:01*pm, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
You need a dynamic array. This is untested but it sould be close. I
personally would have used a collection of file objects but to each his own...

Sub ParseTextFiles()

Dim MyFile As String
Dim FSO As FileSystemObject
Dim MyFolder As Object
Dim ObjFile As Object
Dim colFiles As Object
Dim MyParsedMessage() As String
Dim MyParsedDate As String
Dim lng as long

MyFile = "Z:\Drop Box\robin.tanner\FortexRejects"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = FSO.GetFolder(MyFile)
Set colFiles = MyFolder.Files

For Each ObjFile In colFiles
* * MyParsedDate =
Application.WorksheetFunction.Substitute(Left(ObjF ile.Name, 10), ".",
"/")
* * If Not IsDate(MyParsedDate) Then
* * * * Redim Preserve MyParsedMessage(lng)
* * * * MyParsedMessage(lng) = ObjFile.Name
* * * * lng = lng + 1
* * End If
Next

for lng = lbound(MyParsedMessage) to ubound(MyParsedMessage)
* MsgBox MyParsedMessage(1:i)
next lng
End Sub

--
HTH...

Jim Thomlinson



"R Tanner" wrote:
Hi,


I am trying to cycle through a series of files in a folder and if the
filename does not meet my criteria, then I want to add the filename to
my array. *This is my loop. *How do I add the filename to my array?


Sub ParseTextFiles()


Dim MyFile As String
Dim FSO As FileSystemObject
Dim MyFolder As Object
Dim ObjFile As Object
Dim colFiles As Object
Dim MyParsedMessage() As String
Dim MyParsedDate As String


MyFile = "Z:\Drop Box\robin.tanner\FortexRejects"


Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = FSO.GetFolder(MyFile)
Set colFiles = MyFolder.Files


For Each ObjFile In colFiles
* * MyParsedDate =
Application.WorksheetFunction.Substitute(Left(ObjF ile.Name, 10), ".",
"/")
* * If Not IsDate(MyParsedDate) Then
* * * * MyParsedMessage(i) = ObjFile.Name
* * End If
Next


MsgBox MyParsedMessage(1:i)


End Sub- Hide quoted text -


- Show quoted text -


oh I am more than open to suggestions Jim. I am just using what I
know. Please, tell me why a collection of file objects would be
better in your opinion...

Thank you for the fix by the way.


All times are GMT +1. The time now is 09:41 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com