怎么在excel中制作表格 怎么在excel中做图表( 二 )


RR = WordIsOpen(ThisWorkbook.Path & "\\001 在WORD中激活EXCEL.docm")
If Not RR Then '创建Word对象
Set myWdA = CreateObject("Word.Application")
myWdA.Visible = True '打开指定文档
Set MyDocument = myWdA.Documents.Open(ThisWorkbook.Path & "\\001 在WORD中激活EXCEL.docm")
'获取当前Excel的SHEET2的单元格C2数据
mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value
'将取得得值设定到Word表格的1行2列中
MyDocument.Tables(1).Cell(2, 3).Range.Text = mystr
MyDocument.Save
Set myWdA = Nothing
Set MyDocument = Nothing
Else
Set myWdA = GetObject(, "WORD.Application")
For Each doc In myWdA.Documents
UU = UCase(doc.FullName)
If doc.FullName = ThisWorkbook.Path & "\\001 在WORD中激活EXCEL.docm" Then
mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value
'将取得得值设定到Word表格的1行2列中
doc.Tables(1).Cell(2, 3).Range.Text = mystr
doc.Save
Set doc = Nothing
Exit For
End If
Next
Set myWdA = Nothing
End If
End Sub
代码截图:
代码解读:上述代码先利用WordIsOpen函数判断"001 在WORD中激活EXCEL.docm"是否已经打开,如果没有打开,那么利用CreateObject函数建立引用,然后打开这个文件,打开后修正文件文件,如果已经打开了文件,那么首先定位到打开的文件,然后在修正 。下面看代码的重点讲解:
① If Not RR Then '创建Word对象
Set myWdA = CreateObject("Word.Application")
myWdA.Visible = True '打开指定文档
Set MyDocument = myWdA.Documents.Open(ThisWorkbook.Path & "\\001 在WORD中激活EXCEL.docm")
'获取当前Excel的SHEET2的单元格C2数据
mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value
'将取得得值设定到Word表格的1行2列中
MyDocument.Tables(1).Cell(2, 3).Range.Text = mystr
MyDocument.Save
Set myWdA = Nothing
Set MyDocument = Nothing
上述代码是打开文件及修正文件的代码 。
② Set myWdA = GetObject(, "WORD.Application")
For Each doc In myWdA.Documents
UU = UCase(doc.FullName)
If doc.FullName = ThisWorkbook.Path & "\\001 在WORD中激活EXCEL.docm" Then
mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value
'将取得的值设定到Word表格的1行2列中
doc.Tables(1).Cell(2, 3).Range.Text = mystr
doc.Save
Set doc = Nothing
Exit For
End If
Next
Set myWdA = Nothing
上述代码是当文件已经打开,定位所给出的文件,然后修订文件的代码 。
③ 上述文件修订的代码,我给出的比较简单,大家在实际利用的时候可以发挥使用 。
本节知识点回向:如何利用CreateObject函数和GetObject 函数来判断一个给定的文件是否打开?当已经得到文件已经打开时如何定位到这个文件?以上两个问题就是本节要讲解的主要问题,其中的代码完全可以用作通用代码来对待 。
备注:本节代码参考文件“001 工作表.xlsm”
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5 。
② 7→8
各套教程内容简介:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解

推荐阅读