如何用VBA拷贝我的word文档内容至EXCEL单元格
试试下面的代码:Sub 宏1()Dim wordapp As ObjectDim mydocDim mypath$, myname$Dim wdRng As ObjectDim pos1%, pos2% '定义找到的字段的首位位置Application.DisplayAlerts = FalseSet wordapp = CreateObject("word.application")mypath = ThisWorkbook.Path & ""myname = Dir(mypath & "*.doc*")Set mydoc = wordapp.Documents.Open(mypath & myname)Set wdRng = mydoc.RangewdRng.Find.Execute ("(一)")pos1 = wdRng.StartSet wdRng = mydoc.RangewdRng.Find.Execute ("五、")pos2 = wdRng.Startmydoc.Range(pos1, pos2).Copy '选中找到的两个字段中间的内容mydoc.Close Falsewordapp.QuitWorksheets("Sheet2").SelectRange("A1").SelectActiveSheet.PasteApplication.ScreenUpdating = TrueApplication.DisplayAlerts = TrueEnd Sub
如何用VBA宏程序将excel中的内容批量复制到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 '至于为什么多出一个换行符我还没想明白
求高手提供一个程序,用VBA将word文档中的全部内容复制到剪贴板...
VBA概述:VBA是Visual Basic For Application的缩写,是VB在office中的运用。
是基于Visual Basic For Windows发展而来的,VB For Windows是Microsoft于1992年推出的开发Windows应用程序的程序设计语言,由于基语法简单,易学易用,所以深受用户的欢迎。
而VBA和VB For Windows大体相似。
在Office2000之前,VBA在Word,Excel,Access等Office系统软件中的运用有些有同,但是到Office2000就统一起来了。
Excel是第一个包含有VBA的应用程序,自Office2000以后,Eexel,Word,PowerPoint,Access中已经有了统一标准的宏语言VBA,其中Excel和Access的VBA最为成熟。
在Excel中VBA程序即可以存放有.xls中,也可以单独以文本形式存放。
对VBA的学习,用户首先必须VB有一定的了解(不过不必很专业,毕竟经常用Excel的用户一般是办公人员,不可能是专业编程人员),然后结合宏记录器学习。
因为,宏记录器可以记录宏,用户可以非常清楚了然VBA的很多知识。
另外,如果不是功能很强大的VBA程序,那么用宏记录器就足够了。
打开密码记录器的方法,通过“工具->宏->录制新宏”。
另外,用户可能用“工具->宏->宏...”来管理宏。
用“工具->宏->VB 编辑器”或Alt+F11可以打开VB编辑器,在VB编程器,可以很方便地整个VB工程进行管理,可以方便地编写VBA代码,另外,用户可以再点击Alt+F11切换到Excel窗口。
VBA的使用过程: 1、创建一个Excel文件。
2、创建一个控件,然后双击控件或是右击该控件,点击“查看代码”,就可以对该控件的某个事件,如click,keydown等。
进行编写执行代码了。
创建控件的方法是,点击“视图->工具栏->控件工具箱”,打开“控件工具箱”栏,然后就可以直接拖动某个控件到Excel单元格中去。
在Excel中窗口,添加的控件一般是处于执行状态的,如果要对这个控件进行编辑,除了第一次建立的时候可以对它进行属性编辑外,打开“控件工具箱”,也可以使控件处于编辑状态,如果还不行,可以再添加一个控件,然后已有的控件绝对会处于编辑状态。
当然,对控件修改完毕后,别忘了删除刚才新添加的没有用的控件。
在编辑状态中,你可以右击该控件,点击“属性”,那么就可以打开属性窗口,在这个窗口里,你可以很方便的对这个控件的名字,标题,大小等属性进行编辑。
3、手动或用宏记录器对该控件的某个事件进行编码。
宏记录器简单易用,不过强大的功能还是必须手动编写VBA。
VBA对象介绍: 编写VBA代码的最关键在于灵活运用VBA对象,对这些VBA对象的属性或方法进行操作。
另外,你也可以创建自定义函数,来对某些操作进行封装。
既然是VBA,编码风格当然和VB相同,如果会VB,那么只要对VBA的对象比较了解,就可以编写功能强大的VBA程序;同样,如果不会VB,那么,只需要了解VBA的对象就够了,因为它比较简单易学。
以下分别讨论VBA各对象对其属性与方法: 在一些可以包含其他对象的窗口对象中,有几个特殊的属性,其属性值是当前活动对象,对它们,可以直接引用。
表1 一些特殊的属性 对象名 含义 ActiveWorkbook 当前工作簿,即如果你打开了几个Excel文件,那么你当然正在编辑的Excel文件即ActiveWorkbook ActiveSheet 当前工作簿中的当前工作表,即当前编辑的Excel文件中正在编辑的工作表 ActiveCell 当前工作表中活动单元格 ActiveChart 当前工作簿中的活动图表 Selection 当前被选定的对象 下面详谈各对象及它们的属性和方法 一、Application对象 此对象指Excel应用程序的工作环境。
属性 1.Caption属性 含义:Excel应用程序标题栏显示的文本。
举例:Application.caption=“船员管理系统”,如赋值Empty,则恢复Excel默认的标题栏。
2.Cursor属性 含义:Excel中鼠标的形状。
表2 Cursor属性 属性值 鼠标形状 xlDefault 缺少型值,鼠标呈缺少形状 xlWait 等待型值,鼠标呈不断翻转的沙漏形状 xlNorthwestArrow 箭头型值,鼠标呈标准箭头形状 xlIBeam 文本型值,鼠标呈“I”字形以等待用户输入文本 操作:Application.Cursor=xlWait等。
3、DisplayAlerts属性 含义:用以确定是否显示系统的应用提示和警告信息,如果不想显示,则把些属性设为false,反之亦然。
4、DisplayFormulaBar属性 含义:用以确定是否显示公式编辑栏 5、DisplayScrollBars属性 含义:用以确定是否显示Excel的滚动条 6、DisplayStatusBar属性 含义:用以确定是否显示Excel的状态栏 7、EnableCancelkey属性 含义:用以确定是否允许用户中断正在执行着的VBA程序。
缺省情况下,在VBA程序执行过程中,用户按下Ctrl+Break能够中断VBA程序的执行。
此时此属性即值为xlInterrupt。
若要禁止中断VBA程序,由赋值为xlDisabled;若需要VBA执行过程中遇到错误进中止,由赋值为xlErrorHandler 8、ScreenUpdating属性 含义:用以确定是否显示VBA程序的中间运算结果。
9、StatusBar属性 含义:设置状态栏的文本 10、ActiveWorkbook属性 含义:如表1介绍。
11、ActiveSheet 含义:如表1介绍。
12、ActiveCell属性 含义:如表1介绍。
13、ThisWorkBook属性 含义:用以返回正在执行着VBA程序所...
转载请注明出处51数据库 » vba 复制word 选定内容