我一直在关注这个网站多年,并从中学到很多东西,但是这一次我真的被卡住了。所以,我终于登记了吧! :-)从多个Word文件中提取选择数据到Excel
在工作中,我们有19740个需要处理的Word文档(没有谎言!)。这都是发票。为了使它更容易理解,我上传了一个文件,它可以在这里找到:http://1drv.ms/1U7SsHH
所有文件具有相同的布局和结构。我标记了需要以某种颜色提取的所有内容。我还需要第一个Excel列中每个Word文档的文件名。
Excel文件看起来应该像这样与它的列:
- 名
- Factuurnummer(黄色)
- Leerling(红色)
- Vervaldatum(绿色)
- 基准(绿松石)
- Algemeen Totaal(蓝色)
- Mededelin克(淡紫色)
注意:标记为蓝色的单元格并不总是相同的。下面是此类文件的一个例子:http://1drv.ms/1U7SFLa
我发现了一个脚本联机,但仅在表中提取的一切,并把它们都放在一个colomn ..它已经近7年以来我上次写了一个VBA脚本,所以我真的很生疏...... /惭愧
我真的很希望你们能帮我一把!提前致谢!
编辑:忘记把我现在的代码放在这里,对不起!
Sub omzetting()
Dim oWord As Word.Application
Dim oDoc As Word.Document
Dim oCell As Word.Cell
Dim sPath As String
Dim sFile As String
Dim r As Long
Dim c As Long
Dim Cnt As Long
Application.ScreenUpdating = False
Set oWord = CreateObject("Word.Application")
sPath = "C:\Users\Andy\Desktop\SGR14\edusoft\facturen\sgr14_all\kopie" 'pad waar de Edusoft Word bestanden staan
If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
sFile = Dir(sPath & "*.doc")
r = 1 'start rij
c = 1 'start kolom
Cnt = 0
Do While Len(sFile) > 0
Cnt = Cnt + 1
Set oDoc = oWord.Documents.Open(sPath & sFile)
For Each oCell In oDoc.Tables(1).Range.Cells
Cells(5, 6).Value = Replace(oCell.Range.Text, Chr(13) & Chr(7), "")
c = c + 1
Next oCell
oDoc.Close savechanges:=False
r = r + 1
c = 1
sFile = Dir
Loop
Application.ScreenUpdating = True
If Cnt = 0 Then
MsgBox "Geen Word documenten gevonden. Plaats dit Excel bestand in dezelfde map.", vbExclamation
End If
End Sub
向我们展示你已经尝试的东西,在那里你遇到了问题。这不是一个免费的代码写入服务。请阅读HELP页面以了解[如何提出一个好问题](http://stackoverflow.com/help/how-to-ask);还有[如何提供示例](http://stackoverflow.com/help/mcve) –
对不起,忘了!正打算插入它,但写完后,我的脑海里就掉了下去。 – Gotenks