标题:VB如何读取word中表格第一列、第二列内容?
只看楼主
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
结帖率:50%
已结贴  问题点数:20 回复次数:6 
VB如何读取word中表格第一列、第二列内容?
VB如何读取word中表格第一列、第二列内容?

搜索更多相关主题的帖子: 读取 word 表格 一列 内容 
2019-05-24 15:56
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
得分:20 
回复 楼主 xingming022
程序代码:
Option Explicit

Dim str1 As String
Dim str2 As String

Private Sub Command1_Click()
  Dim myword As Object, mydocument As Object, mytable As Object
  Set myword = CreateObject("Word.Application") '创建word对象
  myword.Visible = True
  Set mydocument = myword.Documents.Open(App.Path & "\123.docx")
  
  Dim i As Byte
  Dim j As Byte
  For i = 1 To mydocument.Tables.Count
      Set mytable = mydocument.Tables(i)
      For j = 1 To mytable.Rows.Count
          str1 = mytable.Cell(j, 1).Range
          str1 = Left(str1, Len(str1) - 2)
          Print str1
          str2 = mytable.Cell(j, 2).Range
          str2 = Left(str2, Len(str2) - 2)
          Print str2
      Next
  Next
End Sub

窗体添加一个命令按钮,AutoRedraw属性为True

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-05-24 21:00
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
得分:0 
回复 2楼 wufuzhang
非常感谢,如果是123.doc  这个文件已经打开了该怎么操作?
2019-05-25 20:48
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
得分:0 
回复 3楼 xingming022
程序代码:
Option Explicit

Dim str1 As String
Dim str2 As String

Private Sub Command1_Click()
On Error Resume Next
  Dim k As Integer
  Dim filepath As String
  Dim myword As Object, mydocument As Object, mytable As Object
  
  
  filepath = App.Path & "\123.docx"
  If Dir(filepath) <> "" Then
     Name filepath As App.Path & "\1232.docx"
  End If
  If Err.Number <> 0 Then
     Print "文件打开了"
     Set myword = GetObject(, "Word.Application")
     For Each mydocument In myword.documents
         k = k + 1
         If mydocument.FullName = filepath Then
            Exit For
         End If
     Next
     Set mydocument = myword.documents(k)
  Else
     Print "文件没打开"
     Name App.Path & "\1232.docx" As filepath
     Set myword = CreateObject("Word.Application") '创建word对象
     myword.Visible = True
     Set mydocument = myword.documents.Open(filepath)
  End If
  

 
  
  Dim i As Byte
  Dim j As Byte
  For i = 1 To mydocument.Tables.Count
      Set mytable = mydocument.Tables(i)
      For j = 1 To mytable.Rows.Count
          str1 = mytable.Cell(j, 1).Range
          str1 = Left(str1, Len(str1) - 2)
          Print str1
          str2 = mytable.Cell(j, 2).Range
          str2 = Left(str2, Len(str2) - 2)
          Print str2
      Next
  Next
End Sub


代码修改了一下,先判断文件是否已打开,再读取表格中内容。

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-05-25 23:56
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
得分:0 
回复 4楼 wufuzhang
非常感谢。
2019-05-26 12:05
xingming022
Rank: 1
等 级:新手上路
帖 子:103
专家分:9
注 册:2015-1-26
得分:0 
回复 4楼 wufuzhang
我最近的帖子都是您帮忙解决了,想请教下,您怎么练就成一看就会的功夫的?您是职业做编程的?
2019-05-26 22:19
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
得分:0 
回复 6楼 xingming022
过奖了,我也是尝试后才找到解决问题的办法。
公司项目有问题都是我来解决,遇到的问题多了,
自然有自己查找问题的一套思路了。

不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-05-27 00:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494923-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.132574 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved