通过 VBA 将 XML 导入 EXCEL 不会刷新
Posted
技术标签:
【中文标题】通过 VBA 将 XML 导入 EXCEL 不会刷新【英文标题】:XML import into EXCEL via VBA doesnt refresh 【发布时间】:2017-07-19 02:43:27 【问题描述】:我正在尝试通过macro
将XML
内容导入excel。
我已经尝试记录步骤,EXCEL VBA
创建的自动代码如下:
代码:
Sub Macro4()
'
' Macro4 Macro
'
Sheets("Temp").Select
Workbooks.Open Filename:= _
"C:\Users\BERAAR1\Desktop\Utilization_matrix\Requests_Weekly.xml"
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Temp").Select
ActiveSheet.Paste
Windows("Requests_Weekly.xml").Activate
ActiveWindow.Close
End Sub
当我再次执行宏时,它只读取标题并且 XML 的内容不会加载到 excel 中。
您能否建议对代码进行任何调整,以便我可以毫无问题地将 XML 导入 EXCEL 中?
【问题讨论】:
你能发布一个 XML 的 sn-p 以便我们重现吗? 【参考方案1】:Sub test_user2075017()
ImportXML "C:\Users\BERAAR1\Desktop\Utilization_matrix\Requests_Weekly.xml"
End Sub
还有被调用的子:
Sub ImportXML(XML_Path As String)
Dim wB As Workbook
Set wB = Workbooks.Open(filename:=XML_Path)
With wB.Sheets(1)
.Range(.Range("A1"), _
.Cells(.Cells(.Rows.count,"A").End(xlUp).Row, _
.Cells(1,.Columns.count).End(xlToLeft).Column)).Copy
End With 'wB.Sheets(1)
With ThisWorkbook.Sheets("Temp")
.Cells.Clear
.Range("A1").Paste
End With 'ThisWorkbook.Sheets ("Temp")
MsgBox wB.Name & " was imported in sheet : Temp", vbOKOnly + vbInformation
wB.Close False
End Sub
【讨论】:
我收到错误Run time error#:438
object doesnt support the property or method
,当点击调试时,它会将我定向到 .Range("A1").Paste
代码。请告知 @R3uK
@user2075017 :尝试编辑。如果仍然有错误,那么您的 XML 中有多少行?您要粘贴到的 Excel 工作表中是否有足够的内容?
我仍然收到与上述代码相同的object doesnt support the property
错误。我的 XML 是从 Dynamics CRM 工具导出的动态工作簿,每次打开工作表时平均有 1K 条记录并刷新..我确信目标表有足够的行..以上是关于通过 VBA 将 XML 导入 EXCEL 不会刷新的主要内容,如果未能解决你的问题,请参考以下文章
通过 VBA 将查询从 Access 导入 Excel 并删除单个单元格
将 Microsoft Project 对象库导入 Excel VBA 项目