用VB或VBA查询WORD

LGame 2007-07-02 12:43:51
比如:我有10个word文件

想查找每个文件中的固定字符 : 如:商品名称

然后输出导excel

谁能给个好点的例子?

是用vba吗?
...全文
253 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
LGame 2007-07-03
  • 打赏
  • 举报
回复
上边那个 a:a 是做什么的?
LGame 2007-07-03
  • 打赏
  • 举报
回复
楼上的哥哥好烈害!
我试试
jacktown 2007-07-03
  • 打赏
  • 举报
回复
完整代码:
Dim wdApp As Word.Application
Dim exApp As Excel.Application

Private Sub Command1_Click()
If Len(Text1.Text) < 1 Then MsgBox "请选择word文档": Exit Sub
If Len(Text2.Text) < 1 Then MsgBox "请选择excel文档": Exit Sub
Set wdApp = New Word.Application
Set exApp = New Excel.Application
wdApp.Visible = True
exApp.Visible = True
xx = wdApp.Documents.Open(Text1.Text)
exApp.Workbooks.Open Text2.Text
For k = 1 To exApp.WorksheetFunction.CountA(exApp.ActiveWorkbook.Sheets(1).Range("a:a"))
s_txt = Range("a" & k)
For i = 1 To wdApp.ActiveDocument.Tables.Count
For j = 1 To wdApp.ActiveDocument.Tables(i).Rows.Count
wdApp.ActiveDocument.Tables(i).Cell(j, 1).Select
If Left(wdApp.Selection.Text, Len(wdApp.Selection) - 2) = s_txt Then
wdApp.ActiveDocument.Tables(i).Cell(j, 2).Select
exApp.ActiveWorkbook.Sheets(1).Range("b" & k) = Left(wdApp.Selection.Text, Len(wdApp.Selection.Text) - 2)
End If
Next
Next
Next
wdApp.Quit (False)
exApp.ActiveWorkbook.Save
exApp.Quit
MsgBox "取值完成!"
End Sub

Private Sub Command2_Click()
CommonDialog1.Filter = "Word文档(*.doc)|*.doc"
CommonDialog1.ShowOpen
If Len(CommonDialog1.FileName) > 1 Then Text1.Text = CommonDialog1.FileName
End Sub

Private Sub Command3_Click()
CommonDialog1.Filter = "Excel文档(*.xls)|*.xls"
CommonDialog1.ShowOpen
If Len(CommonDialog1.FileName) > 1 Then Text2.Text = CommonDialog1.FileName
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
jacktown 2007-07-02
  • 打赏
  • 举报
回复
读取WORD表格中的内容:
wdApp.Documents.Open "E:\Lixin\Share\word\baogao\aaa.doc"
For i = 1 To wdApp.ActiveDocument.Tables(1).Rows.Count
wdApp.ActiveDocument.Tables(1).Cell(i, 1).Select
If Left(wdApp.ActiveDocument.Selection.Text, Len(wdApp.ActiveDocument.Selection.Text) - 2) = "铅笔" Then
wdApp.ActiveDocument.Tables(1).Cell(i, 2).Select
MsgBox Left(wdApp.ActiveDocument.Selection.Text, Len(wdApp.ActiveDocument.Selection.Text) - 2)
End If
Next
northwolves 2007-07-02
  • 打赏
  • 举报
回复
参考:
http://topic.csdn.net/t/20060528/16/4784318.html
LGame 2007-07-02
  • 打赏
  • 举报
回复
wdApp.Documents.Open "E:\Lixin\Share\word\baogao\aaa.doc"
With wdApp.ActiveDocument.Content.Find
.Execute "Test1", True
End With

像这样,我如果查找到了
怎样取它边上表格的 名称
iamxiang 2007-07-02
  • 打赏
  • 举报
回复
可能是IP或者text没有定义。
LGame 2007-07-02
  • 打赏
  • 举报
回复
word的格式:
图片

表格
-----------
| 名称 | xxxxxx
| |
| |
就是要取那个xxxx
LGame 2007-07-02
  • 打赏
  • 举报
回复
文件名知道!
格式也通一
输出格式:
文件 名称
xxxx.doc 铅笔
jacktown 2007-07-02
  • 打赏
  • 举报
回复
用VB或VBA都无所谓,关键是
1、你那10个WORD文件的文件名是否已知?
2、找到指定的字符后,要导出什么内容到Excel?
3、word文件格式统一吗?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧