You can try do it yourslef without a macro.
If you have all the mandatory values for a transaction in XOG format (ie., date must be in the format yyyy-MM-dd, you need internal task id, internal group id, code for the financial grouping attributes, etc), you can just slice the XML String for a transaction, and insert each piece on a column of the Excel, interleaving with data columns.
I´m attaching an Excle with a sample of what I talking about (it's only a sample, it does not generate complete transaction tags!). All you have to do is repeat the value of the columns with XML content for all value lines, then copy all lines inside a shell for the XML XOG, and remove tabs.
The XOG shell :
<?xml version="1.0" encoding="UTF-8"?>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_inboundTransaction.xsd">
<Header action="write" externalSource="ORACLE-FINANCIAL" objectType="inboundTransaction" version="6.0.11"/>
<Transactions>
PASTE EXCEL CONTENT HERE
</Transactions>
</NikuDataBus>
This is the full transaction XOG with only one transaction:
<?xml version="1.0" encoding="UTF-8"?>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_inboundTransaction.xsd">
<Header action="write" externalSource="ORACLE-FINANCIAL" objectType="inboundTransaction" version="6.0.11"/>
<Transactions>
<Transaction
voucherNumber="ABCVDD"
transactionType="L"
externalID="L-RESCODE_UK1-PROJ_UK_CNT_GBP-37289-8"
importStatus="N"
clientID="NikuUK"
projectID="TESTPROJ"
resourceID="admin"
taskID="5017601"
groupId="123"
inputTypeCode="SALES"
chargeCode="LCOCD1"
chargeable="1"
transactionClass="ABCD"
actualCostRate="1"
billRate="1"
transactionDate="2002-02-12"
units="11"
/>
</Transactions>
</NikuDataBus>
Good luck!
Roberto Barra