I've been working on a script that auto-creates a new *.xlsx workbook, imports the XSD map, and imports an XML file. I've just about worked out the bugs to have it use the new file and format the data as needed, then it filters out data based on vendor (I have a list of 52 vendors - and this part works beautifully), dumps the mined data to a new workbook, saves, closes, and continues.
The problem I'm having is the map does not auto-import. It fails to import the map and data.
Sub openxmlfile()
Workbooks.Add
ActiveWorkbook.XmlMaps.Add("\\Automation files\VendorDetails.xsd" _
, "vendordetails").Name = "vendordetails_Map"
ActiveWorkbook.XmlImport = ("\\VendPaymtDtl_12112621482978.xml")
End Sub
Public Sub VendorRecon()
'
' This section prepares the yyyy Mmm - Vendor Recon File.xlsx
'
Call openxmlfile
Call borders
Call SSN
Call USD
Call dates
Call FName
Call LName
Call freeze
Call rename_worksheet
Call save
'
' This section begins the creation of each vendor's *.xlsx recon file
'
Call vendor_001
Call copy
Call create_new
Call paste
Call fit_hide
Call page_format
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftFooter = "(001) Ada County"
End With
Application.PrintCommunication = True
Call page_fit
Sheets("Sheet1").Select
Sheets("Sheet1").Name = "2012 Dec - (001) Vendor Recon"
Call freeze
ChDir "Y:\2012 Dec\Vendor Recon Files\My Recon Files"
ActiveWorkbook.SaveAs Filename:= _
"Y:\2012 Dec\Vendor Recon Files\My Recon Files\2012 Dec - (001) Vendor Recon File.xlsx" _
, FileFormat:=51, Password:="x", WriteResPassword:="x", CreateBackup:=False
Call close_window
'
Call vendor_040
.
.
.
End Sub
Here's my XSD Map:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:complexType name="PremiumReconType" >
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="vendordetails" type="dateheader" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="payment" type="paymentmade" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="dateheader" >
<xs:attribute name="datetime" type="xs:date" />
</xs:complexType>
<xs:complexType name="paymentmade" >
<xs:attribute name="run_date" type="xs:date" />
<xs:attribute name="payroll_cycle" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pay_eff_date" type="xs:date" />
<xs:attribute name="vendor_name" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="address_lines" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="vendor_city_state_zip" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="country" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ssn" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="11" />
<xs:maxLength value="11" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FirstName" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MiddleName" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LastName" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="employer_num" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="vendor_code" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="status" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ongoing" type="xs:decimal" />
<xs:attribute name="adjustment" type="xs:decimal" />
<xs:attribute name="funding_code" >
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="4" />
<xs:fractionDigits value="0" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="plan_name" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="plan_number" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="policy_number" >
<xs:simpleType>
<xs:restriction base="xs:string" >
<xs:minLength value="1" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:element name="vendordetails" type="PremiumReconType" />
</xs:schema>