DeathSurfer
Programmer
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
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