DeathSurfer


Duuuudes:

Is there an easy way in vba to convert a string to an array of integers. For example:

I have this particular array of numbers in the element <column_data_types> in a xml file:

<column_data_types>1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1</column_data_types>

I have a function that will grab the array of numbers but the function returns a string. ("1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1") For this particular situation I actually need this list of numbers to be numbers, not a string, and pass them to an array in excel. Below is the situation that I'm talking about, I am importing a query from a database and need to fill out the .TextFileColumnDataTypes argument which takes an array of integers. I need this to be dynamic so I put these columndatatypes in an xml file.

With WorkSheet("x").QueryTables.Add(Connection:="TEXT;" & ExcelFilePath & "\FABRICREQ", Destination:=Range("FD_StartData"))
.Name = "FabricData"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

Instead of looking like the above: .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1)

it will look like this: .TextFileColumnDataTypes = Array(getXmlValue) except getXmlValue returns a string which is the problem. Any ideas on how I should handle this

Any help would be appreciated.

Thanks




Re: Converting a string to an Array

Andy Pope


Hi,

Have a look at the Split function. This will actually create a variant array but it should work.






Re: Converting a string to an Array

DeathSurfer

thanks Dude.

Later.