vba 粘贴到word表格 vba word粘贴表格格式 - 电脑|办公 - 电脑办公-杀毒安全-网络-V3学习网
微商网
 
 
导航:首页 |电脑|办公|正文

vba 粘贴到word表格 vba word粘贴表格格式

时间:2021-05-04 11:19:24
vba如何把word表格内容填到excel里 如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。所以,如果可能,可以考虑用VBA来复制表格,然后粘贴到EX
作者:

vba 粘贴到word表格

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这个,你也可以通过录制来得到。

如果你需要知道具体的操作方案,你当然也应该吧分数提高。

怎样才能从excel粘贴到word表格中的数据不换行

注:vba偶并不太熟(偶一般是用c#和delphi的),VBA只是稍有了解,以下代码大部分是偶google到的内容拼出来的。

如下,使用时先更改test下的docpath和xlspath路径设定,docpath即你的word的目录,此目录包括子目录下的所有doc将被读取,xlspath即输出目录,需要存在 在VBA窗口中,先在视图下显示立即窗口以观察进度,程序最后的输出类似这样 正在读取[1]:->D:\1\Resume.doc 正在生成:->d:\2\Resume 正在读取[2]:->D:\1\简历(简).doc 正在生成:->d:\2\简历(简) 正在读取[3]:->D:\1\计数器说明.doc 正在生成:->d:\2\计数器说明 共耗时0分41秒 Option Explicit Dim docpath As String, xlspath As String"ResultFlag=0 获取路径"ResultFlag=1 获取文件名"ResultFlag=2 获取扩展名 Public Function SplitPath(FullPath As String, ResultFlag As Integer) As String Dim SplitPos As Integer, DotPos As Integer SplitPos = InStrRev(FullPath, "\") DotPos = InStrRev(FullPath, ".") Select Case ResultFlag Case 0 SplitPath = Left(FullPath, SplitPos - 1) Case 1 If DotPos = 0 Then DotPos = Len(FullPath) + 1 SplitPath = Mid(FullPath, SplitPos + 1, DotPos - SplitPos - 1) Case 2 If DotPos = 0 Then DotPos = Len(FullPath) SplitPath = Mid(FullPath, DotPos + 1) Case Else Err.Raise vbObjectError + 1, "SplitPath Function", "Invalid Parameter!" End Select End Function Public Function FileFolderExists(ByVal strFullPath As String) As Boolean On Error GoTo EarlyExit If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True EarlyExit: On Error GoTo 0 End Function Sub Test() "使用双字典,旨在提高速度 Dim MyName, Dic, Did, I, T, F, TT, MyFileName, Doc, Ke Dim count As Integer count = 0 T = Time docpath = "D:\1\" xlspath = "d:\2\" Set Dic = CreateObject("Scripting.Dictionary") "创建一个字典对象 Set Did = CreateObject("Scripting.Dictionary") Dic.Add (docpath), "" I = 0 Do While I Ke = Dic.keys "开始遍历字典 MyName = Dir(Ke(I), vbDirectory) "查找目录 Do While MyName "" If MyName "." And MyName ".." Then If (GetAttr(Ke(I) & MyName) And vbDirectory) = vbDirectory Then "如果是次级目录 Dic.Add (Ke(I) & MyName & "\"), "" "就往字典中添加这个次级目录名作为一个条目 End If End If MyName = Dir "继续遍历寻找 Loop I = I + 1 Loop "Did.Add ("文件清单"), "" "以查找D盘下所有EXCEL文件为例 For Each Ke In Dic.keys MyFileName = Dir(Ke & "*.doc") Do While MyFileName "" Doc = Ke & MyFileName Did.Add (Doc), "" count = count + 1 Debug.Print "正在读取[" & count & "]:->" & Doc doc2xls (Doc) MyFileName = Dir Loop Next " For Each Sh In ThisWorkbook.Worksheets " If Sh.Name = "XLS文件清单" Then " Sheets("XLS文件清单").Cells.Delete " F = True " Exit For " Else " F = False " End If " Next "If Not F Then " Sheets.Add.Name = "XLS文件清单" "End If "Sheets("XLS文件清单").[A1].Resize(Did.Count, 1) = WorksheetFunction.Transpose(Did.keys) TT = Time - T Debug.Print "共耗时" & Minute(TT) & "分" & Second(TT) & "秒" End Sub Sub doc2xls(filename As String) Dim xlApp As Object, xlSheet As Object, outfile As String, c As Object Set xlApp = CreateObject("Excel.Application") Set xlSheet = xlApp.Workbooks.Add.Sheets(1) Dim Wapp As Object, Doc As Object, GetDocText As Object "Word Application 对象、Document 对象 Set Wapp = CreateObject("Word.Application") "创建Word Application 对象 Set Doc = Wapp.Documents.Open(filename, ReadOnly:=True) "打开文档,返回一个文档对象"xlSheet.Range("A1") = Doc.Content.Text Doc.Application.Selection.WholeStory """"全选 Doc.Application.Selection.Copy """"""""""复制 xlSheet.Range("A1").Select xlSheet.Paste outfile = xlspath + Replace(SplitPath(filename, 1), ".doc", ".xls") Debug.Print "正在生成:->" & outfile xlSheet.Parent.SaveAs outfile xlApp.Quit Set xlSheet = Nothing Set xlApp = Nothing Wapp.Quit Set Doc = Nothing Set Wapp = Nothing End Sub

VBA将一个word表格中的内容复制到另外一个word的表格中

"打开后焦点发生了转移,activedocument已经指向刚打开的文件了"改为Sub Macro1()Dim myDoc"On Error Resume NextWith ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).RangeSet myDoc = Word.Application.Documents.Open("E:\1.docx").Delete.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)End WithEnd Sub"(InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)这行代码中,你确定表2存在吗?我测试时只建一个表,所以改为Tables(1).) "也可以这样控制焦点Sub Macro1()Dim myDoc"On Error Resume NextSet 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 WithEnd Sub "至于为什么多出一个换行符我还没想明白

如何将EXCEL中的表格粘贴到WORD中

把Excel表格插入Word中: 1.把Excel表格插入Word文档中 在Excel中选中表格并“复制”,在Word文档的表格插入点单击后“粘贴”即可。

假如希望插入Word中的表格数据随着Excel表格数据的修改而变化,可以在粘贴的表格右下角“粘贴选项”中选择“匹配目标区域单元格样式并链接到Excel”或者“保留源格式并链接到Excel”命令。

2.把Excel表格插入Word文档已有的表格中 在Excel中选中表格的数据区域并“复制”,在Word表格中选中区域大小相同的表格并“粘贴”。

把EXCEL表格,插入到PPT中: 1.把表格或表格的一部分复制到PPT 在Excel中选中数据区域或表格并“复制”,在PPT中“粘贴”即可。

2.在PPT中粘贴的表格数据随着Excel表格数据的修改而变化 打开保存数据的工作簿,激活要插入PPT的工作表,在PPT中执行“插入/对象/由文件创建”操作,单击“浏览”按钮在打开的对话框中找到并选中文件后单击“确定”返回“插入”对话框,选中“链接”后“确定”即可。

本操作在Office2003中完成。

...

怎样把word表格里面的内容直接粘贴到excel里面

会自动生成数值格式。

如果该方法不行也可选中该列——点击菜单栏“数据”——分列——分隔符号——下一步——下一步——列数据格式选择“文本”即可打开word文档,点解刚粘贴内容右下角的粘贴符号——点击下拉列表——选中“匹配目标格式”就OK,恭喜你啦完成任务,找到要粘贴到excel中的数字格式一列数字(如身份证号码)——选中——复制,默认是数值格式数值 如下的方法。

点击复制拉一列数字—选中该列—右键“设置单元格格式”—点“数字”下的“文本”(会自动转化成文本格式)文本字体是左对齐并且单元格左上角有绿色的小三角: 打开excel,输入一列数字如“1”,打开刚才第一列是文本格式数字的excel表格,就点击第一列第一个单元格粘贴 ...

大家还关注
    
阅读排行
推荐阅读