条件:从当前用户桌面的Excel表获取数据源,Excel表数据源的名字从用户D盘的1xls Sheet1!A1获取
运行第一个宏加载数据库必须先打开一个Excel表,否则会出错
运行第二个宏合并1-6条记录至桌面,并关闭
由于第一次写这种东东 好多地方还要优化,稍候在附上,后面将将实现一键实现从数据加载到合并至指定位置,简化大家的工作量
第一个宏编写:
Sub 加载数据库()
'
' 加载数据库 Macro
' 宏在 2011-6-11 由 雨林木风 录制
'
chan = DDEInitiate(app:="Excel", topic:="system") '打开一个DDE通道
DDEExecute channel:=chan, Command:="[open(" & Chr(34) & "D:\1xls" & Chr(34) & ")]" '在一个应用程序中执行打开xls文件命令,需要指出的是,系统要求所需文件必须放在D盘。
DDETerminate channel:=chan '关闭DDE通道
chan = DDEInitiate(app:="Excel", topic:="D:\1xls") '打开一个DDE通道
Dim s As String
Dim q As String
Dim y As String
s = DDERequest(channel:=chan, Item:="R1C1")
DDETerminateAll
Dim excelClose As Object
Set excelClose = GetObject(, "ExcelApplication")
excelCloseworkbooks("1xls")Close False
y = Left(s, Len(s) - 1)
q = "C:\Documents and Settings\" & Environ("USERNAME") & "\桌面\" & y & "xls"
ActiveDocumentMailMergeOpenDataSource Name:=q, _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=MicrosoftJetOLEDB40;Password="""";User ID=Admin;Data Source=q;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Data" _
, SQLStatement:="SELECT FROM `Sheet1$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
End Sub
第二个宏已经变相的实现:多谢这个帖子:>
复制。那些能自动执行某种 *** 作的命令统称为“宏”。宏也是一种 *** 作命令,它和菜单 *** 作命令都是一样的,只是它们对数据库施加作用的时间有所不同,作用时的条件也有所不同。菜单命令一般用在数据库的设计过程中,而宏命令则用在数据库的执行过程中。菜单命令必须由使用者来施加这个 *** 作,而宏命令则可以在数据库中自动执行。
在ACCESS中打开某个数据库
单击菜单 文件-获取外部数据-导入,在对话框中选择要用的EXCEL文件
按照向导提示执行就行了,可以放在新表中,也可以放在已有的表中。
但是要注意,最好是在EXCEL中为使用的数据作个命名区域,还有EXCEL中的数据一定要规规矩矩,第一行是列标题,下面各行是数据,标题和数据不要跨列,不要有合并的单元格,否则可能不行。
不过我是完全安装的,我不知道你的错误提示是否和这有关
安装日历控件
Excel添加日历控件的方法
1 添加控件程序。
把MSCOMCTLOCX文件拷贝到 C:\WINDOWS\system32 目录下
2 注册控件程序
开始--运行--输入 regsvr32exe MSCOMCTLOCX
3 添加引用
进入VBE 编辑器,工具-引用,勾选 Microsoft Windows Common Controls 60 (SP6)
以上就是关于MS word 2003宏(邮件合并自动加载Excel数据库,合并完后自动保存)该怎么写这个宏呢全部的内容,包括:MS word 2003宏(邮件合并自动加载Excel数据库,合并完后自动保存)该怎么写这个宏呢、数据库怎样调出已经写好的宏 *** 作、数据库里宏的概念等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)