VBA Export Excel to XML format and save to specific directory
我几乎完成了一个大型Macro的制作,但是我遇到了最终的绊脚石。我已经制作了具有期望值的工作表,现在需要将其导出为XML格式。我只需要导出这个称为"输出"的特定工作表。当我导出到文本时出现问题,因此必须创建Sub exportToXML来删除在导出时产生的引号。这很好。但是,当我导出时,我必须手动输入目录和文件名,但我希望输出文件不好。目录可能会不时更改,文件名也会更改。
子exportToXML(fileNAme作为字符串,ws作为工作表)
出现错误时转到EndMacro:
FNum作为整数
FNum = FreeFile
Dim startRow As Long,endRow As Long
昏暗startCol作为整数,endCol作为整数
与ws.UsedRange
startRow = .Cells(1)。行
startCol = .Cells(1)。列
endRow = .Cells(.Cells.Count).Row
endCol = .Cells(.Cells.Count).Column
结束于
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | Open fileNAme For Output Access Write As #FNum Dim rowNdx As Long, colNdx As Integer Dim wholeLine As String, cellValue As String For rowNdx = startRow To endRow wholeLine ="" For colNdx = startCol To endCol If ws.Cells(rowNdx, colNdx).Value ="" Then cellValue ="" Else cellValue = ws.Cells(rowNdx, colNdx).Value If removeCommaNums Then If IsNumeric(cellValue) Then cellValue = Replace(cellValue,",","") End If End If End If wholeLine = wholeLine & cellValue & sep Next colNdx wholeLine = Left(wholeLine, Len(wholeLine) - Len(sep)) Print #FNum, wholeLine;"" Next rowNdx EndMacro: On Error GoTo 0 Close #FNum End Sub Sub SaveAs() fmt As String, Directory As String, tradeid As String fmt =".txt" tradeid = Worksheets("XML Instruction").Range("B16").Value Directory = Worksheets("EUC").Range("C7").Value Dim op As Worksheet Set op = Sheets("Output") exportToXML"I:\\test.txt", op End Sub |
SavAs Sub的最后一部分是我在以下问题上遇到的部分:-exportToXML" I:\ test.txt",op。我必须手动输入位置(I :)和文件名(测试)以获取任何输出文件。
例如,我是否可以不参考Directory&Tradeid来确定文件导出到的位置以及文件名是什么?
这就是为什么我引用了Directory,tradeid,fmt。
您可以。 只需写:
确保目录是有效目录,并且Tradeid不允许使用特殊字符。