VB如何在WORD.DOT表格插入相关数据

我现在已经可打开并保存word模板了,但是我要在模板的表格中插入数据,怎么定位?
如果已经有表格了,现在可以用书签或者其他方式来实现么?

在表格中定位还好一些。
首先确定表格
然后
对象.cell(rowindex,colindex).text
即可。

好人做到底,发给你一个实例吧:
Private Sub cmdExport_Click()
Dim i As Integer, j As Integer
Dim ifieldcount As Integer, irecordcount As Integer
Dim wdapp As Word.Application
Dim wddoc As Word.Document
Dim atable As Word.Table
cmdFind_Click
If Adodc1.Recordset.RecordCount > 0 Then
irecordcount = Adodc1.Recordset.RecordCount
'创建word应用程序,这一句话打开word2000
Set wdapp = CreateObject("Word.Application")
'在word中添加一个新文档
Set wddoc = wdapp.Documents.Add
With wdapp
.Visible = True

.Activate
'在word中增加一个表格
.Caption = "送检表"
Set atable = .ActiveDocument.Tables.Add(.Selection.Range, irecordcount + 1, 7)
atable.Cell(1, 1).Range.InsertAfter "物资编号"
atable.Cell(1, 2).Range.InsertAfter "物资名称"
atable.Cell(1, 3).Range.InsertAfter "规格型号"
atable.Cell(1, 4).Range.InsertAfter "批号或炉号"
atable.Cell(1, 5).Range.InsertAfter "送检数量"
atable.Cell(1, 6).Range.InsertAfter "进货日期"
atable.Cell(1, 7).Range.InsertAfter "送检时间"
'指定表格内容
Adodc1.Recordset.MoveFirst
Do Until Adodc1.Recordset.EOF
atable.Cell(DataGrid1.Bookmark + 1, 1).Range.InsertAfter Adodc1.Recordset.Fields("物资编号")
atable.Cell(DataGrid1.Bookmark + 1, 2).Range.InsertAfter Adodc1.Recordset.Fields("物资名称")
atable.Cell(DataGrid1.Bookmark + 1, 3).Range.InsertAfter Adodc1.Recordset.Fields("规格型号")
If Adodc1.Recordset.Fields("批号或炉号") <> "" Then atable.Cell(DataGrid1.Bookmark + 1, 4).Range.InsertAfter Adodc1.Recordset.Fields("批号或炉号")
atable.Cell(DataGrid1.Bookmark + 1, 5).Range.InsertAfter Adodc1.Recordset.Fields("数量")
If Adodc1.Recordset.Fields("进货日期") <> "" Then atable.Cell(DataGrid1.Bookmark + 1, 6).Range.InsertAfter Adodc1.Recordset.Fields("进货日期")
If Adodc1.Recordset.Fields("送检时间") <> "" Then atable.Cell(DataGrid1.Bookmark + 1, 7).Range.InsertAfter Adodc1.Recordset.Fields("送检时间")
Adodc1.Recordset.MoveNext
Loop
End With
'清除word对象
Set wdapp = Nothing
Set wddoc = Nothing
Else
MsgBox "没有送检物资!", , "提示窗口"
End If
End Sub

问题补充:如果已经有表格了,现在可以用书签或者其他方式来实现么?
可能我直接获取新建表格对象误导了你,如果已有表格,也有很多办法,常用的是通过从tables集合中获取表格对象。如此句:Set atable = .ActiveDocument.Tables.Add(.Selection.Range, irecordcount + 1, 7)
可以改成:
Set atable = .ActiveDocument.Tables(1)
即通过表格索引(第几个表格)来获得表格对象,接下来的赋值操作还是一样的。
当然通过书签也可以,如果表中要修改的数据不多且不需要一般循环的话。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-17
我的做法是:在模板内需要插入数据的地方作标识(如:第1行第1列,标识为:#NF #表示年份),当你要更新数据时,只要把标识替换为实际数据就可以了(如#NF #替换为2008年即可。)

我这里有一个把模板数据进行替换,然后显示输出的源码,你不妨下载回去研究研究:
http://www.fileurls.com/download.ashx?id=qfokru本回答被提问者采纳
第2个回答  2008-12-17
Sub 修改单元格()

Selection.Tables(1).Cell(2, 4).Select

Selection.TypeText Text:="ABCDEFG"

End Sub

VB如何在WORD.DOT表格插入相关数据
首先确定表格 然后 对象.cell(rowindex,colindex).text 即可。好人做到底,发给你一个实例吧:Private Sub cmdExport_Click()Dim i As Integer, j As Integer Dim ifieldcount As Integer, irecordcount As Integer Dim wdapp As Word.Application Dim wddoc As Word.Document Dim atable As Word....

如何用VB打开word并且创建表格,向表格里填写数据。
Private Function OutWord(ByVal filePath As String) As Boolean Dim newDoc As Word.Document Set newDoc = New Word.Document With newDoc .Paragraphs(.Paragraphs.Count).Range.Font.Name = "宋体".Paragraphs(.Paragraphs.Count).Range.Font.Size = 10.5 .Paragraphs(.Paragraphs.Count).Alignm...

在Word中表格内批量插入文字与图片的vb程序
新建一个文档,文档中插入图片采用附件中的拖拽插入方法(可以保证插入的图片顺序),然后用替换功能将所有图片后面添加一个回车符【ctrl+h调出替换对话框 查找内容输入:(?)替换为输入:\\1^p 高级或更多选择“使用通配符”,点击全部替换】然后ctrl+a选中所有图片,点击插入→表格→表格,即可将所有图片放...

求VB代码,如何在doc文件相同内容里,批量插入连续数字
With word_app.Selection.Find .Text = “内容后面添加".Replacement.Text = "".Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End Wit...

用VB 往word里写数据???
MsgBox "请在左边选择需要导出的记录"Appword.Documents.Close Appword.Quit Exit Sub Else ‘如果存在记录则运行以下代码 With Newword ’设置模版表格和在表格中填入数据库内容。.Tables(1).Cell(1, 1).Range.Text = (Format(rs!日期, "yyyy年mm月dd日")).Tables(2).Cell(3, 4).Range....

vb 获取word光标位置并插入文字
" '插入相关字符! MsgBox wdapp.selection.range.startEnd SubPrivate Sub Form_Unload(Cancel As Integer) wd.Close True '关闭Word文件 wdapp.Quit '退出word运用环境End Sub附件如下:话说大哥,一分悬赏分都不给吗?专门给你写的代码和测试文件啊,你这个题怎么滴也得50分吧...

怎么vb中对表的某行进行添加数据
创建层次结构记录集的最容易的方法是使用数据环境设计器并把 MSHFlexGrid 控件的 DataSource 属性赋给数据环境。您也可以用 Shape 命令作为 ADO Data Control 的 RecordSource 在代码中创建层次结构记录,如下面的示例:' 创建 ConnectionString.Dim strCn As String strCn = Provider=MSDataShape.1;Data ...

...关于用vb编写一个在vb中输入一些文字到word表格固定位置并且打印的...
Private Sub Command1_Click()Dim WordApp Dim Word Set WordApp = CreateObject("Word.Application")'WordApp.Visible = True Set Word = WordApp.Documents.Open("d:\\abc.doc")Word.Close WordApp.Quit Set WordApp = Nothing Set Word = Nothing End Sub 类似这样的,放到程序里跑一下~...

vb如何在word原有表格下添加行?
直接 Activedocument.Table(?).Rows.Add

VB.NET Word创建表格并录入文字
‘首先,创建一个VB.NET项目,再点击菜单”项目“-”添加引用“,在”Com“-”类型库“里,选择Microsoft.Word 14.0 Object Library(对应Office版本为2010),将以下代码复制粘贴到Form1窗体替换原代码。’PS:以下代码仅创建表格,将第行2至4列合并,添加1个文字,其他的你自己分析。Imports Microsoft...

相似回答
大家正在搜