一、word和excel vba综合编程
在Excel下编程,使用下列语句打开Word文档
Dim Wrd
Set Wrd = CreateObject("Word.Application")
Wrd.documents.Open Filename:=DOCFile, ReadOnly:=True '以只读方式打开Word文档
Wrd.Visible = True '让其可见(只读状态打开时,默认不可见)
通过类似于下面的语句,可以访问Word文档中的表格数据(注意:返回的数据去掉最后两个字符(回车和表格符))
Wrd.documents(DOCFile).Tables(4).Cell(9, 3).Range.Text 'Word文档中第4个表格的第9行第3列的文本。
至于文本,要通过设定选择集(Selection,可通过查找题目,然后改变选择区域的大小(Collapse方法))来复制和粘贴数据(查看Word的VB帮助)
得到Word文档中的数据后,往Excel文档对应的单元格赋值即可。
实际编写起来工作量较大,不超过几千份问卷,还是手工做吧!(初学者做完这个程序,估计要3、5天)
详细可联系:591zheteng@sina.com
二、vba,word和excel相互调用
总是要有一个打开的时机的,总要有一段打开的代码,不然怎么凭空打开,怎么获取打开的文件名.
如果你想在你的宏运行前打开,你可以把调用与打开的代码放在宏运行的前面.
如:以excel打开word为例,你可以在Workbook_Open下放置你调用和打开word 的代码:
Private Sub Workbook_Open()
dim aaa as 。application
End Sub
方法你应该比较熟悉了,就是在vbaproject下双击ThisWorkbook,然后在上边的下拉列表里选对象和事件.
如果在宏中用路径打开被调用的文件,那么该文件就必须放在路径指定的位置,我不想这样。我想放在任意位置。
放在任意位置你可以用一个打开对话框呀,
如下面代码:
Dim fd As FileDialog
Dim Wbook As Workbook
Dim rowindex As Integer
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
.Filters.Add "EXCEL 文件", "*.xls", 1 '过滤
If .Show = -1 Then
rowindex = 1
For Each vrtSelectedItem In .SelectedItems
Set Wbook = Workbooks.Open(vrtSelectedItem)
三、excel用vba自动生成word
Sub GenDocfromExcel()'excel控制word,生成新文件,插入图片和文件名,保存'office 2003, VBA工具/引用中要勾选Microsoft Word 11.0 Object Library'office 2007, VBA工具/引用中要勾选Microsoft Word 12.0 Object Library'。
Range("A1:B13").Copy '复制当前内容Dim WordApp As Word.Application '定义变量Set WordApp = CreateObject("Word.Application") '生成WORD对象WordApp.Documents.Add '新建文件WordApp.Selection.Paste '粘贴fn$ = "D:\" & Range("b1") '生成文件名WordApp.ActiveDocument.SaveAs fn$ '保存文件WordApp.Quit '退出Set WordApp = Nothing '取消变量End Sub。
四、我在word vba 环境下,怎么可以调用打开指定EXCEL文件
挺简单的。
最关键的就是让word的VBA能调用excel的VBA的函数库。具体做法如下:1)添加函数库,让excel和word的VBA函数共享要用VBA联合操作word和excel,首先选定是用word的VBA来操作excel还是用excel的VBA来操作word,然后调出你选定的VBA,在工具〉参照设定中把Microsoft Office15.0 Object Library和Microsoft Excel15.0 Object Library给选上。
这个十分有必要,因为word和excel的vba的一些函数并不是通用的。2)连接excel具体的方式如下:Sub Macro1() Dim ExcelApp As Object Dim myBook As Object Dim mysheet As Object If Tasks.Exists("Microsoft Excel") = True Then Tasks("Microsoft Excel").Close Set ExcelApp = CreateObject("Excel.Application") Set myBook = ExcelApp.Workbooks.Open("D:\Users\Administrator\Desktop\练习\2 WROD\新建文件夹\1.xls") 'excel的位置,用 'thisworkbook.path可设置为 ‘相对路径 Set mysheet = myBook.Worksheets("Sheet1") 'sheet名 With mysheet '调用数据计算部分 end with大概就是这样一个过程。
五、用VBA让excel和word自动另存为
excel vba代码:
Sub 工作簿备份()
Dim s, f As String, sht As Worksheet
f = [a3]
If f = "" Then Exit Sub
Application.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
Sheets(1).Name = "临时"
For Each sht In ThisWorkbook.Sheets
With ActiveWorkbook
sht.Copy after:=.Sheets(.Sheets.Count)
End With
Next
Application.DisplayAlerts = False
Sheets("临时").Delete
Sheets(1).Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
s = Application.Dialogs(5).Show(arg1:=f & ".xls")
If s = True Then
ActiveWorkbook.Close
MsgBox "备份完毕"
Else
MsgBox "没有备份"
End If
End Sub
六、excel用vba自动生成word
Sub GenDocfromExcel()
'excel控制word,生成新文件,插入图片和文件名,保存
'office 2003, VBA工具/引用中要勾选Microsoft Word 11.0 Object Library
'office 2007, VBA工具/引用中要勾选Microsoft Word 12.0 Object Library
'。
Range("A1:B13").Copy '复制当前内容
Dim WordApp As Word.Application '定义变量
Set WordApp = CreateObject("Word.Application") '生成WORD对象
WordApp.Documents.Add '新建文件
WordApp.Selection.Paste '粘贴
fn$ = "D:\" & Range("b1") '生成文件名
WordApp.ActiveDocument.SaveAs fn$ '保存文件
WordApp.Quit '退出
Set WordApp = Nothing '取消变量
End Sub
七、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这个,你也可以通过录制来得到。
如果你需要知道具体的操作方案,你当然也应该吧分数提高。
。
转载请注明出处51数据库 » wordvbaexcel