Dim strTmp As String
Dim strFilePath As String '第三方2文件夹中导入xml文件名
Dim strFileExl As String '导出文件2文件夹中导出exl文件名
Dim nNum As Integer '销售件数
'nLength = 0
strTmp = ""
On Error GoTo errEx
Set rgFirst = Cells(ActiveCell.Row, ActiveCell.Column)
Do While rgFirst.Value <> "" '*************循环**********************************
nLength = 0
strTmp = rgFirst.Value
If Right(strTmp, 1) > 9 Then
MsgBox (strTmp & "的发货单据号有误!")
Exit Sub
End If '如果药检码单尾数是7位,以下将6改成7即可
strFilePath = ThisWorkbook.Path & "\第三方2\SalesWareHouseOut_" & Right(strTmp, 6) & ".xml"
strFileExl = ThisWorkbook.Path & "\导出文件2\" & Application.WorksheetFunction.Text(rgFirst.Offset(0, -1), "yyyymmdd") _
& rgFirst.Offset(0, 2) & rgFirst
nNum = rgFirst.Offset(0, 4)
Set myWorkbook = Workbooks.Add(xlWBATWorksheet)
Set myWorkbook = ActiveWorkbook
Set ws = myWorkbook.Worksheets(1)
Set rg = ws.Cells(1, 2)
rg.ColumnWidth = 22
rg.Offset(0, -1).ColumnWidth = 4
ws.Columns("B:B").NumberFormatLocal = "@"
rg = "电子监管码"
Dim objDOM As Object
Dim nodes As Object
Dim n As Object
'装载xml文档到dom 文档中
Set objDOM = CreateObject("MSXML.DOMDocument")
objDOM.Load (strFilePath)
'查找并选择文档中的所有id节点
Set nodes = objDOM.SelectNodes("//Data")
'遍历节点并输出每个节点
For Each n In nodes
Set rg = rg.Offset(1, 0)
nLength = nLength + 1
rg = n.Attributes.Item(0).NodeValue
rg.Offset(0, -1) = nLength
'MsgBox n.Attributes.Item(0).NodeValue
'MsgBox n.Text
'nLength = n.Length
If nLength <> nNum Then
MsgBox (strTmp & "的件数不对!第三方2文件夹中的xml文件可能错误!")
Exit Sub
End If
On Error Resume Next
myWorkbook.SaveAs (strFileExl)
myWorkbook.Close
Set rgFirst = rgFirst.Offset(1, 0)
Loop ' *************循环**********************************
Exit Sub
errEx:
MsgBox (strTmp & "的执行有错误,请检查!")
End Sub
Sub Macro1()
Application.OnKey "^+f", "FindNode"
End Sub
Option ExplicitSub FindNode()Dim myWorkbook As WorkbookDim ws As WorksheetDim rg As RangeDim rgFirst As RangeDim nLength As IntegerDim strTmp As StringDim strFilePath As String '第三方2文件夹中导入xml
在SAP系统中,通过SE11显示一个table的内容,可以发现ALV grid的显示界面上有个spread sheet的标准按钮,点击这个按钮可以将显示的内容下载成
excel
文件,其中也包括扩展名.xlsx的文件。
&lt;img class="alignnone size-full wp-image-2802" src="http://www.baidusap.c...
使用
Excel
2003 对象模型添加
XML
数据集成
发布日期 : 8/11/2004 |
更新日期 : 8/11/2004<br />Peter Vogel<br />PH&V Information Services<br />适用范围:<br /> Microsoft® Office
Excel
2003<br /> Microsoft Office System<br />摘要
将工作簿连接到数据源,以便电子表格可以操作并更新数据,这是基于 Office 的解决
获取标签
import
java.io.File;
import
java.util.Iterator;
import
java.util.List;
import
org.dom4j.Document;
import
org.dom4j.DocumentException;
import
org.dom4j.Element;
import
org.dom4j.io.SAXReader;
3. 在
VBA
编辑器中插入一个新的模块。
4. 在新的模块中编写代码,使用Word对象模型中的Table对象和
Excel
对象模型中的Worksheet对象来实现表格的
导入
。
5. 运行代码,将表格
导入
到
Excel
中。
需要注意的是,
导入
表格时需要考虑表格的格式和数据类型,以确保
导入
的数据准确无误。
<h3>回答2:</h3><br/>在
VBA
中将Word表格
导入
到
Excel
可以通过使用Microsoft Word和Microsoft
Excel
对象库来实现。
首先,需要打开Word文档并选择需要
导入
的表格。通过以下代码可以打开Word文档并选择表格:
Sub
Import
WordTable()
Dim WordApp As Object
Dim WordDoc As Object
Dim WordTable As Object
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open("C:\Users\example.docx")
Set WordTable = WordDoc.Tables(1)
'此时选定了第一个表格
'以下可以指定具体的某个单元格的值
'WordTable.Cell(1, 1).Range.Text
End Sub
接下来,需要将选择的表格中的数据逐行逐列地提取出来,并在
Excel
中创建一个新的工作簿和工作表来放置这些数据。通过以下代码可以在
Excel
中创建新工作簿和工作表:
Sub
Import
WordTable()
Dim WordApp As Object
Dim WordDoc As Object
Dim WordTable As Object
Dim
Excel
App As Object
Dim
Excel
Book As Object
Dim
Excel
Sheet As Object
Dim i As Integer
Dim j As Integer
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open("C:\Users\example.docx")
Set WordTable = WordDoc.Tables(1)
'此时选定了第一个表格
Set
Excel
App = CreateObject("
Excel
.Application")
Set
Excel
Book =
Excel
App.Workbooks.Add()
Set
Excel
Sheet =
Excel
Book.Worksheets(1)
End Sub
然后,需要使用循环来按行和列的顺序将表格中的数据提取到
Excel
工作表中。可以使用以下代码来实现:
Sub
Import
WordTable()
Dim WordApp As Object
Dim WordDoc As Object
Dim WordTable As Object
Dim
Excel
App As Object
Dim
Excel
Book As Object
Dim
Excel
Sheet As Object
Dim i As Integer
Dim j As Integer
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open("C:\Users\example.docx")
Set WordTable = WordDoc.Tables(1)
'此时选定了第一个表格
Set
Excel
App = CreateObject("
Excel
.Application")
Set
Excel
Book =
Excel
App.Workbooks.Add()
Set
Excel
Sheet =
Excel
Book.Worksheets(1)
For i = 1 To WordTable.Rows.Count
For j = 1 To WordTable.Columns.Count
Excel
Sheet.Cells(i, j) = WordTable.Cell(i, j).Range.Text
Next j
Next i
End Sub
最后,需要关闭Word文档和
Excel
工作簿,并释放所有对象。可以使用以下代码实现:
Sub
Import
WordTable()
Dim WordApp As Object
Dim WordDoc As Object
Dim WordTable As Object
Dim
Excel
App As Object
Dim
Excel
Book As Object
Dim
Excel
Sheet As Object
Dim i As Integer
Dim j As Integer
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open("C:\Users\example.docx")
Set WordTable = WordDoc.Tables(1)
'此时选定了第一个表格
Set
Excel
App = CreateObject("
Excel
.Application")
Set
Excel
Book =
Excel
App.Workbooks.Add()
Set
Excel
Sheet =
Excel
Book.Worksheets(1)
For i = 1 To WordTable.Rows.Count
For j = 1 To WordTable.Columns.Count
Excel
Sheet.Cells(i, j) = WordTable.Cell(i, j).Range.Text
Next j
Next i
WordDoc.Close
WordApp.Quit
Excel
Book.SaveAs("C:\Users\example.xlsx")
Excel
Book.Close
Excel
App.Quit
Set WordDoc = Nothing
Set WordApp = Nothing
Set WordTable = Nothing
Set
Excel
Sheet = Nothing
Set
Excel
Book = Nothing
Set
Excel
App = Nothing
End Sub
通过以上代码,可以将Word文档中的表格数据成功
导入
到
Excel
工作表中。需要注意的是,需要进行正确配置可以确保成功运行此代码,并及时更改相应的文件路径。
<h3>回答3:</h3><br/>在
VBA
中将Word表格
导入
到
Excel
是一项非常有用的操作,它可以帮助你快速地将Word中的数据转移到
Excel
里面,从而进行更方便的处理。
下面是这个过程具体的步骤:
1. 打开需要
导入
的Word文档,选择需要
导入
的表格。
2. 打开
Excel
文档,并在新建的模块中添加以下代码:
Sub
Import
WordTableIn
Excel
()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim TableNo As Integer '表格序号
Dim iRow As Long '行号
Dim iCol As Integer '列号
Set WordApp = CreateObject("Word.Application") '打开Word应用程序
WordApp.Visible = True '设置可见性
Set WordDoc = WordApp.Documents.Open(Filename:="C:\Users\johnDoe\Documents\example.docx", _
ReadOnly:=True) '打开Word文档
TableNo = WordDoc.Tables.Count '获取表格数
For Each tbl In WordDoc.Tables '循环遍历每个表格
For iRow = 1 To tbl.Rows.Count '循环遍历每行
For iCol = 1 To tbl.Columns.Count '循环遍历每列
ThisWorkbook.Worksheets(1).Cells(iRow, iCol) = _
Application.Clean(tbl.Cell(iRow, iCol).Range.Text) '将单元格中的文本
导入
到
Excel
中
Next iCol '进入下一列
Next iRow '进入下一行
Next tbl '进入下一个表格
WordDoc.Close '关闭Word文档
WordApp.Quit '关闭Word应用程序
End Sub
3. 保存并运行宏,即可将Word中的表格数据
导入
到
Excel
中。在
导入
完成后,你可以根据需要对
Excel
文档进行进一步的处理。
总的来说,通过
VBA
将Word表格
导入
到
Excel
可以大大节省你的时间和精力,同时还可以减少数据输入过程中的错误。希望这份回答可以帮助你更好地掌握这项技能。