-2

我一直在通过 Excel VBA 将 xml 上传到 Tally.ERP 9。我想知道是否可以一次将 xml 上传到多个理货公司?

我的excel数据看起来像这样

日期 分类帐(cr) 分类帐(博士) 数量 旁白 公司
28/12/2021 泽班克 银行收费 450 十二月银行手续费 美国广播公司
27/12/2021 国际银行 OD费 750 十二月银行手续费 XYZ
2021 年 12 月 30 日 非洲银行 管理费 150 十二月银行手续费 BAC

部分xml如下

    <ENVELOPE>
    <HEADER>
    <TALLYREQUEST>Import Data</TALLYREQUEST>
    </HEADER> 
    <BODY>
    <IMPORTDATA>
    <REQUESTDESC>
    <REPORTNAME>All Masters</REPORTNAME>
    <STATICVARIABLES>
    <SVCURRENTCOMPANY>Column 6</SVCURRENTCOMPANY>
    </STATICVARIABLES>
    </REQUESTDESC>
    <REQUESTDATA>
    <TALLYMESSAGE>
    <VOUCHER REMOTEID="" VCHKEY="" VCHTYPE="Payment"    ACTION="Create"> 
    <TALLYMESSAGE xmlns:UDF="TallyUDF">
    <NARRATION> Colum 5 </NARRATION>
    <VOUCHERTYPENAME> Payment </VOUCHERTYPENAME>
    <PARTYLEDGERNAME>" Column 2 </PARTYLEDGERNAME>
    <EFFECTIVEDATE>Column 1</EFFECTIVEDATE>
    <LEDGERNAME>Column 2</LEDGERNAME>
    <AMOUNT>Column 4</AMOUNT>
    </VOUCHER>
    </TALLYMESSAGE>
    </REQUESTDATA>
    </IMPORTDATA>
    </BODY>
    </ENVELOPE>

这是我用于单个公司的发布方法

    xmlhttp.Open "post", "http://localhost:9000", False
    xmlhttp.setRequestHeader "Content-Type", "application/xml"
    xmlhttp.setRequestHeader "Content-Length", "356"
    xmlhttp.setRequestHeader "Accept", "text/xml"
    xmlhttp.setRequestHeader "Host", "localhost:" & UserForm1.txtPort & """"
    xmlhttp.setRequestHeader "Cache-Control", "no-cache"

    xmlhttp.send myXMLstr
    MsgBox xmlhttp.responseText

任何关于如何做到这一点的想法将不胜感激。

谢谢你。

4

1 回答 1

0

根据新数据编辑答案

MsgBox Cells(row ,5).value
Startrow = 2
for row = 0 + Startrow to 4
.....other xml
myXMLstr += <SVCURRENTCOMPANY>Cells(row ,5).value</SVCURRENTCOMPANY>
...other xml
..other code
xmlhttp.send myXMLstr
MsgBox xmlhttp.responseText
next row
于 2022-01-25T03:53:55.953 回答