<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Data Connections</title><link>https://www.infopathdev.com:443/forums/44.aspx</link><description> </description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: XML Data Connection in InfoPath 2007: Data types and reading xml</title><link>https://www.infopathdev.com:443/forums/thread/31321.aspx</link><pubDate>Sat, 09 Aug 2008 14:40:54 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:31321</guid><dc:creator>Hilary Stoupa</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/31321.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=44&amp;PostID=31321</wfw:commentRss><description>&lt;p&gt;Hi, Patrick:&lt;/p&gt;
&lt;p&gt;You can specify the data types in the .xsd that InfoPath generates when you add the data connection to your .xml file. You&amp;#39;ll need to save the form as source files or rename it with &amp;quot;.cab&amp;quot; for the extension and copy the files out. Open the .xsd in question and add data types as needed. &lt;a href="http://www.w3schools.com/Schema/schema_dtypes_numeric.asp"&gt;Here&lt;/a&gt; is a link to a great tutorial on data types from W3Schools. &lt;/p&gt;
&lt;p&gt;Then you can open manifest.xsf in design mode and resave as a template. I&amp;#39;m not sure if it will solve your issue, but it seems worth a shot!&lt;/p&gt;</description></item><item><title>XML Data Connection in InfoPath 2007: Data types and reading xml</title><link>https://www.infopathdev.com:443/forums/thread/31291.aspx</link><pubDate>Fri, 08 Aug 2008 17:04:05 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:31291</guid><dc:creator>Patrick</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/31291.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=44&amp;PostID=31291</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I&amp;#39;ve been working on an InfoPath project for a while that was originally using SQL data connections.&amp;nbsp; I recently tested the form with xml data connections to the same data.&amp;nbsp; I had converted the data that was in SQL tables back to excel 2007 and then to xml files.&amp;nbsp; (For any of you that have read my previous posts on SQL performane vs. SharePoint List performance, the XML data connections as resource files are MUCH faster for me!)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Now, I have loaded the xml files into the InfoPath form as resource files, made the appropriate data connections, and reconfigured the rules and default values to accommodate the new data connections. &lt;/p&gt;&lt;p&gt;I am having issues where the xml data I get is returning a &amp;quot;space&amp;quot; after some ID numbers I have in the files.&amp;nbsp; (i.e. An ID# of &amp;quot;2&amp;quot; returns as &amp;quot;2 &amp;quot; and there are other fields that must read from these ID fields to make the form work, but having a space is causing errors.&amp;nbsp; &lt;/p&gt;&lt;p&gt;My initial thought is that perhaps the data type is not correctly specified in the xml file.&amp;nbsp; I used some code I found online to take excel data and convert it to xml data. (below)&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight:bold;"&gt;&amp;#39;Attribute VB_Name = &amp;quot;XL_to_XML&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Sub MakeXML()&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;#39; create an XML file from an Excel table&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Dim MyRow As Integer, MyCol As Integer, Temp As String, YesNo As Variant, DefFolder As String&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Dim XMLFileName As String, XMLRecSetName As String, MyLF As String, RTC1 As Integer&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Dim RangeOne As String, RangeTwo As String, Tt As String, FldName(99) As String&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;MyLF = Chr(10) &amp;amp; Chr(13)&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; a line feed command&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;DefFolder = &amp;quot;J:\OMS\&amp;quot;&amp;nbsp;&amp;nbsp; &amp;#39;change this to the location of saved XML files&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;YesNo = MsgBox(&amp;quot;This procedure requires the following data:&amp;quot; &amp;amp; MyLF _&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;amp; &amp;quot;1 A filename for the XML file&amp;quot; &amp;amp; MyLF _&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;amp; &amp;quot;2 A groupname for an XML record&amp;quot; &amp;amp; MyLF _&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;amp; &amp;quot;3 A cellrange containing fieldnames (col titles)&amp;quot; &amp;amp; MyLF _&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;amp; &amp;quot;4 A cellrange containing the data table&amp;quot; &amp;amp; MyLF _&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;amp; &amp;quot;Are you ready to proceed?&amp;quot;, vbQuestion + vbYesNo, &amp;quot;MakeXML CiM&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If YesNo = vbNo Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Debug.Print &amp;quot;User aborted with &amp;#39;No&amp;#39;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Exit Sub&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;XMLFileName = FillSpaces(InputBox(&amp;quot;1. Enter the name of the XML file:&amp;quot;, &amp;quot;MakeXML CiM&amp;quot;, &amp;quot;xl_xml_data&amp;quot;))&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If Right(XMLFileName, 4) &amp;lt;&amp;gt; &amp;quot;.xml&amp;quot; Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;XMLFileName = XMLFileName &amp;amp; &amp;quot;.xml&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;XMLRecSetName = FillSpaces(InputBox(&amp;quot;2. Enter an identifying name of a record:&amp;quot;, &amp;quot;MakeXML CiM&amp;quot;, &amp;quot;record&amp;quot;))&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;RangeOne = InputBox(&amp;quot;3. Enter the range of cells containing the field names (or column titles):&amp;quot;, &amp;quot;MakeXML CiM&amp;quot;, &amp;quot;A3:D3&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If MyRng(RangeOne, 1) &amp;lt;&amp;gt; MyRng(RangeOne, 2) Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; MsgBox &amp;quot;Error: names must be on a single row&amp;quot; &amp;amp; MyLF &amp;amp; &amp;quot;Procedure STOPPED&amp;quot;, vbOKOnly + vbCritical, &amp;quot;MakeXML CiM&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; Exit Sub&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;MyRow = MyRng(RangeOne, 1)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;For MyCol = MyRng(RangeOne, 3) To MyRng(RangeOne, 4)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;If Len(Cells(MyRow, MyCol).Value) = 0 Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; MsgBox &amp;quot;Error: names range contains blank cell&amp;quot; &amp;amp; MyLF &amp;amp; &amp;quot;Procedure STOPPED&amp;quot;, vbOKOnly + vbCritical, &amp;quot;MakeXML CiM&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; Exit Sub&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;FldName(MyCol - MyRng(RangeOne, 3)) = FillSpaces(Cells(MyRow, MyCol).Value)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Next MyCol&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;RangeTwo = InputBox(&amp;quot;4. Enter the range of cells containing the data table:&amp;quot;, &amp;quot;MakeXML CiM&amp;quot;, &amp;quot;A4:D8&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If MyRng(RangeOne, 4) - MyRng(RangeOne, 3) &amp;lt;&amp;gt; MyRng(RangeTwo, 4) - MyRng(RangeTwo, 3) Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; MsgBox &amp;quot;Error: number of field names &amp;lt;&amp;gt; data columns&amp;quot; &amp;amp; MyLF &amp;amp; &amp;quot;Procedure STOPPED&amp;quot;, vbOKOnly + vbCritical, &amp;quot;MakeXML CiM&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; Exit Sub&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;RTC1 = MyRng(RangeTwo, 3)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If InStr(1, XMLFileName, &amp;quot;:\&amp;quot;) = 0 Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;XMLFileName = DefFolder &amp;amp; XMLFileName&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Open XMLFileName For Output As #1&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Print #1, &amp;quot;&amp;lt;?xml version=&amp;quot; &amp;amp; Chr(34) &amp;amp; &amp;quot;1.0&amp;quot; &amp;amp; Chr(34) &amp;amp; &amp;quot; encoding=&amp;quot; &amp;amp; Chr(34) &amp;amp; &amp;quot;ISO-8859-1&amp;quot; &amp;amp; Chr(34) &amp;amp; &amp;quot;?&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Print #1, &amp;quot;&amp;lt;OMS_XML&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;For MyRow = MyRng(RangeTwo, 1) To MyRng(RangeTwo, 2)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Print #1, &amp;quot;&amp;lt;&amp;quot; &amp;amp; XMLRecSetName &amp;amp; &amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; For MyCol = RTC1 To MyRng(RangeTwo, 4)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; &amp;#39; the next line uses the FormChk function to format dates and numbers&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Print #1, &amp;quot;&amp;lt;&amp;quot; &amp;amp; FldName(MyCol - RTC1) &amp;amp; &amp;quot;&amp;gt;&amp;quot; &amp;amp; RemoveAmpersands(FormChk(MyRow, MyCol)) &amp;amp; &amp;quot;&amp;lt;/&amp;quot; &amp;amp; FldName(MyCol - RTC1) &amp;amp; &amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; &amp;#39; the next line does not apply any formatting&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp; &amp;#39;&amp;nbsp; Print #1, &amp;quot;&amp;lt;&amp;quot; &amp;amp; FldName(MyCol - RTC1) &amp;amp; &amp;quot;&amp;gt;&amp;quot; &amp;amp; RemoveAmpersands(Cells(MyRow, MyCol).Value) &amp;amp; &amp;quot;&amp;lt;/&amp;quot; &amp;amp; FldName(MyCol - RTC1) &amp;amp; &amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next MyCol&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Print #1, &amp;quot;&amp;lt;/&amp;quot; &amp;amp; XMLRecSetName &amp;amp; &amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Next MyRow&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Print #1, &amp;quot;&amp;lt;/OMS_XML&amp;gt;&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Close #1&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;MsgBox XMLFileName &amp;amp; &amp;quot; created.&amp;quot; &amp;amp; MyLF &amp;amp; &amp;quot;Process finished&amp;quot;, vbOKOnly + vbInformation, &amp;quot;MakeXML CiM&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Debug.Print XMLFileName &amp;amp; &amp;quot; saved&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End Sub&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Function MyRng(MyRangeAsText As String, MyItem As Integer) As Integer&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;#39; analyse a range, where MyItem represents 1=TR, 2=BR, 3=LHC, 4=RHC&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Dim UserRange As Range&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Set UserRange = Range(MyRangeAsText)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Select Case MyItem&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Case 1&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;MyRng = UserRange.Row&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Case 2&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;MyRng = UserRange.Row + UserRange.Rows.Count - 1&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Case 3&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;MyRng = UserRange.Column&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Case 4&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;MyRng = UserRange.Columns(UserRange.Columns.Count).Column&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End Select&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Exit Function&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End Function&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Function FillSpaces(AnyStr As String) As String&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;#39; remove any spaces and replace with underscore character&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Dim MyPos As Integer&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;MyPos = InStr(1, AnyStr, &amp;quot; &amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Do While MyPos &amp;gt; 0&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Mid(AnyStr, MyPos, 1) = &amp;quot;_&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;MyPos = InStr(1, AnyStr, &amp;quot; &amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Loop&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;FillSpaces = LCase(AnyStr)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End Function&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Function FormChk(RowNum As Integer, ColNum As Integer) As String&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;#39; formats numeric and date cell values to comma 000&amp;#39;s and DD MMM YY&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;FormChk = Cells(RowNum, ColNum).Value&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If IsNumeric(Cells(RowNum, ColNum).Value) Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;FormChk = Format(Cells(RowNum, ColNum).Value, &amp;quot;#,##0 ;(#,##0)&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;If IsDate(Cells(RowNum, ColNum).Value) Then&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;FormChk = Format(Cells(RowNum, ColNum).Value, &amp;quot;dd mmm yy&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End If&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End Function&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Function RemoveAmpersands(AnyStr As String) As String&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Dim MyPos As Integer&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;#39; replace Ampersands (&amp;amp;) with plus symbols (+)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;MyPos = InStr(1, AnyStr, &amp;quot;&amp;amp;&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Do While MyPos &amp;gt; 0&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;Mid(AnyStr, MyPos, 1) = &amp;quot;+&amp;quot;&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;MyPos = InStr(1, AnyStr, &amp;quot;&amp;amp;&amp;quot;)&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;Loop&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;RemoveAmpersands = AnyStr&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I&amp;#39;m not sure if the code was written for excel 2003 or not, but it seemed to work.&amp;nbsp; I got my tables as xml files and made sure there are no spaces where there shouldn&amp;#39;t be.&lt;/p&gt;&lt;p&gt;So I&amp;#39;m wondering if I should specify, in my xml files, the data types for currency, decimals, strings, etc...&amp;nbsp; AND How do I do that? &amp;nbsp;&lt;/p&gt;&lt;p&gt;I looked around online and saw that Open Office XML might be something to look into, but I&amp;#39;m not an expert in XML so it might prove to be difficult.&lt;/p&gt;&lt;p&gt;Any help?&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>