1. VBA 用excel模块复制word的表格内容
试试下面的代码:Sub 宏1() Dim wordapp As Object Dim mydoc Dim mypath$, myname$ Dim wdRng As Object Dim pos1%, pos2% '定义找到的字段的首位位置 Application.DisplayAlerts = False Set wordapp = CreateObject("word.application") mypath = ThisWorkbook.Path & "" myname = Dir(mypath & "*.doc*") Set mydoc = wordapp.Documents.Open(mypath & myname) Set wdRng = mydoc.Range wdRng.Find.Execute ("(一)") pos1 = wdRng.Start Set wdRng = mydoc.Range wdRng.Find.Execute ("五、") pos2 = wdRng.Start mydoc.Range(pos1, pos2).Copy '选中找到的两个字段中间的内容 mydoc.Close False wordapp.Quit Worksheets("Sheet2").Select Range("A1").Select ActiveSheet.Paste Application.ScreenUpdating = True Application.DisplayAlerts = TrueEnd Sub。
2. 用VBA把Excel中的表粘贴到Word
忘记说了,要加入word的Object library才行的。
方法:
在excel的vb编辑器菜单中,选“工具”---“引用”---在那列表中往下找“Microsoft Word 9.0 Object Library”,把它前面的框勾上,确定。
这样执行就没错了。
Sub Macro1()
Dim appWD As Word.Application, doc As Object
Range("A1:C3").Select
Selection.Copy
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
Set appWD = GetObject(, "Word.Application")
Set doc = GetObject("D:\doc1.doc")
appWD.Visible = True
With appWD.Selection.Find
.Text = "指定位置"
.Wrap = wdFindContinue
End With
appWD.Selection.Find.Execute
appWD.Selection.MoveRight Unit:=wdCharacter, Count:=1
appWD.Selection.TypeParagraph
appWD.Selection.MoveLeft Unit:=wdCharacter, Count:=1
appWD.Selection.PasteExcelTable False, False, False
appWD.Quit (wdSaveChanges)
End Sub
3. 如何利用excel vba提取word中表格的部分内容,复制粘贴到excel
试试下面的代码:e69da5e6ba907a686964616f31333363393738
Sub 宏1()
Dim wordapp As Object
Dim mydoc
Dim mypath$, myname$
Dim wdRng As Object
Dim pos1%, pos2% '定义找到的字段的首位位置
Application.DisplayAlerts = False
Set wordapp = CreateObject("word.application")
mypath = ThisWorkbook.Path & ""
myname = Dir(mypath & "*.doc*")
Set mydoc = wordapp.Documents.Open(mypath & myname)
Set wdRng = mydoc.Range
wdRng.Find.Execute ("(一)")
pos1 = wdRng.Start
Set wdRng = mydoc.Range
wdRng.Find.Execute ("五、")
pos2 = wdRng.Start
mydoc.Range(pos1, pos2).Copy '选中找到的两个字段中间的内容
mydoc.Close False
wordapp.Quit
Worksheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
4. VBA将一个word表格中的内容复制到另外一个word的表格中
'打开后焦点发生了转移,activedocument已经指向刚打开的文件了
'改为
Sub Macro1()
Dim myDoc
'On Error Resume Next
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
Set myDoc = Word.Application.Documents.Open("E:\1.docx")
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
'(
InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)这行代码中,你确定表2存在吗?我测试时只建一个表,所以改为Tables(1).
)
'也可以这样控制焦点
Sub Macro1()
Dim myDoc
'On Error Resume Next
Set myDoc = Word.Application.Documents.Open("E:\1.docx", , , , , , , , , , , vbHide)
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
'至于为什么多出一个换行符我还没想明白
5. vba如何打开并复制别的表格
打开别的表格可以用Workbooks.Open方法打开一个Excel工作簿,这个函数的具体用法和参数如下:Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)其中FileName是必选的参数,表示要打开的工作簿名,如果没有指定路径,则代表当前路径。
另外14个是可选参数,除了密码参数,其他的一般很少用。具体的含义可以参看VBA的帮助。
实例:Workbooks.Open "F:\test.xls" '表示打开F盘根目录名称为test.xls的文件可以打开F盘的test.xls文件。复制别的表格可以用Copy方法。
选中你要复制的工作表,然后复制工作表中的所有内容,然后粘贴到你要复制到的工作薄。假设你要复制的是C盘用户文档下的123.xls文件中的Sheet5工作表,需要复制到你已经打开的第一个工作薄Book1,具体的实现代码为: Sub Macro() '下面一行代码表示打开C盘用户文档文件夹中名称为123.xls的文件 Workbooks.Open Filename:= _ "C:\Documents and Settings\Administrator\My Documents\123.xls" Sheets("Sheet5").Select '选中你要复制的工作表Sheet5 ' Cells.Select '选中Sheet5中所有的单元格 Selection.Copy '复制选中的内容 Windows("Book1").Activate '把工作薄Book1置为当前工作薄 ActiveSheet.Paste '把复制的内筒粘贴的当前工作薄Book1 End Sub。
6. vba 将 word 字符复制到excel 或txt
你的代码可以用的。
Sub test()
Dim i
Dim Wrd As Range
i = Selection.Font.ColorIndex
For Each Wrd In ActiveDocument.Words
If Wrd.Font.ColorIndex i Then Wrd.Copy
SaveAsTxtFile '调用SaveAsTxtFile
Next Wrd
End Sub
Sub SaveAsTxtFile()
Const 指定文件名 = "autosave01.txt"
Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
Selection.PasteSpecial Link:=False, DataType:=wdPasteText
ActiveDocument.SaveAs2 FileName:=指定文件名, FileFormat:=wdFormatText, Encoding:=936
ActiveDocument.Close
End Sub
7. excel vba复制行,复制它的内容和格式
将复制这行拆分,复制后选择性粘贴:
Rows(x & ":" & n).EntireRow.Copy
Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
如果是复制的单元格格式,再加上下面一句
Range("A1").PasteSpecial xlPasteFormats
另外,Rows本身就是整行引用,EntireRow在这里就是重复的,可取消,直接改为:
Rows(x & ":" & n).Copy
8. vba如何把word表格内容填到excel里
如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。
所以,如果可能,可以考虑用VBA来复制表格,然后粘贴到EXCEL中,对于比较简单的表格,内容是可以完全匹配的。
首先,你要知道如何用键盘来选择整个表格,然后复制,把这些操作录制下来,然后复制代码。
如果你是要从EXCEL 的VBA 入手,那么你需要在VBA引用中添加WORD Libary 11.0 如果是从WORD的VBA入手,那么就要添加EXCEL LIBARY 11.0 (OFFICE 2007 是 12.0)
然后就是需要知道EXCEL中粘贴的代码,如果我记得不错的话,是:cells(1,1).paste
这个,你也可以通过录制来得到。
如果你需要知道具体的操作方案,你当然也应该吧分数提高。
9. VBA将一个word表格中的内容复制到另外一个word的表格中
'打开后焦点发生了转移,activedocument已经指向刚打开的文件了
'改为
Sub Macro1()
Dim myDoc
'On Error Resume Next
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
Set myDoc = Word.Application.Documents.Open("E:\1.docx")
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
'(
InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)这行代码中,你确定表2存在吗?我测试时只建一个表,所以改为Tables(1).
)
'也可以这样控制焦点
Sub Macro1()
Dim myDoc
'On Error Resume Next
Set myDoc = Word.Application.Documents.Open("E:\1.docx", , , , , , , , , , , vbHide)
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
'至于为什么多出一个换行符我还没想明白
转载请注明出处51数据库 » vba复制粘贴word表格