主题:怎样用VFP语言插入二张EXCEL表到一个工作簿中去
zwc0215
[专家分:0] 发布于 2010-05-07 14:14:00
请教高手:我有二个EXCEL表,A.xls和B.xls,怎样在VFP语言里把这二张表分别插入到一个工作簿中,如ABC.xls。A.xls对应于sheet1,B.xls对应于sheet2。
回复列表 (共10个回复)
沙发
liupeisong [专家分:2340] 发布于 2010-05-07 17:29:00
参考这里
http://bbs.pfan.cn/post-320108.html
特别是10楼的资料
板凳
qjbzjp [专家分:8830] 发布于 2010-05-08 10:33:00
A.XLS插入到工作簿2,B.XLS插入到工作簿3,楼主自己调整吧。
eole=CREATEOBJECT('Excel.application') && 创建Excel对象
eole.Workbooks.Open("S:\ABC.xls") && 打开工作表
eole.WorkSheets(2).Activate &&激活工作簿2
eole.Workbooks.Open("S:\A.xls") &&打开要插入的工作表
eole.ActiveSheet.UsedRange.Cells.select &&选择数据区
eole.Selection.Copy &&拷贝
eole.ActiveWorkbook.saved=.t. &&不保存
eole.ActiveWindow.Close &&关闭表
eole.ActiveSheet.Paste &&粘贴
eole.Workbooks.Open("S:\B.xls") &&打开下一个表
eole.ActiveSheet.UsedRange.Cells.select
eole.Selection.Copy
eole.ActiveWindow.Close
eole.WorkSheets(3).Activate &&激活工作簿2
eole.ActiveSheet.Paste
eole.ActiveWorkbook.close(.t.) &&保存
eole.Workbooks.close && 关闭工作簿
eole.quit && 退出Excel
3 楼
zwc0215 [专家分:0] 发布于 2010-05-08 17:25:00
谢谢2楼的指教。
eole.ActiveSheet.UsedRange.Cells.select &&选择数据区
这句程序我要求不单单选择数据区,要求选择整张表的数据,包括表格所有的格式。
eole.ActiveSheet.Paste &&粘贴
这句程序执行后,会出现一段是否保留剪贴板内容的提示,请不让这提示显示。
请2楼高手再指教,非常感谢!
4 楼
moz [专家分:37620] 发布于 2010-05-08 21:40:00
请参照这一贴的5楼
http://bbs.pfan.cn/post-321447-1.html
5 楼
moz [专家分:37620] 发布于 2010-05-08 21:46:00
Excel=CREATEOBJECT("Excel.application")
BookC=Excel.Workbooks.Open(fullpath("C.xls"))
SheetC=BookC.sheets(1)
BookB=Excel.Workbooks.Open(fullpath("B.xls"))
BookB.sheets(1).Move(SheetC)
[color=FFFFFF]BookB.close(.F.)[/color]
BookA=Excel.Workbooks.Open(fullpath("A.xls"))
BookA.sheets(1).Move(SheetC)
[color=FFFFFF]BookA.close(.F.)[/color]
6 楼
zwc0215 [专家分:0] 发布于 2010-05-09 11:53:00
请教5楼:怎样把工作表“sheet1”改名;怎样把工作表“sheet2”删除。谢谢!
7 楼
qjbzjp [专家分:8830] 发布于 2010-05-09 13:28:00
试试这次郊果:
eole=CREATEOBJECT('Excel.application') && 创建Excel对象
WITH eole
.DisplayAlerts = .F.
.Workbooks.Open("S:\A.xls") &&打开要插入的工作表
.Sheets("Sheet1").Select
.ActiveSheet.UsedRange.Cells.select
.Selection.Copy &&拷贝
.Workbooks.Open("S:\ABC.xls") && 打开工作表
.Sheets("Sheet1").Select
.Cells.Select
.ActiveSheet.Paste &&粘贴
.ActiveWindow.Close(.t.)
.Workbooks.Open("S:\B.xls") &&打开下一个表
.Sheets("Sheet1").Select
.Cells.Select
.Selection.Copy
.Workbooks.Open("S:\ABC.xls")
.WorkSheets(2).Select
.Cells.Select
.ActiveSheet.Paste
.ActiveWorkbook.close(.t.)
.quit && 退出Excel
ENDWITH
其实5楼的代码是最简洁的。
8 楼
zwc0215 [专家分:0] 发布于 2010-05-09 13:50:00
请教7楼:怎样把工作表“sheet1”改名;怎样把工作表“sheet2”删除。谢谢!
9 楼
qjbzjp [专家分:8830] 发布于 2010-05-09 14:49:00
用录制宏的方法可以得到:
.Sheets("Sheet1").Name = "Newname"
.Sheets("Sheet2").Select
.ActiveWindow.SelectedSheets.Delete
10 楼
moz [专家分:37620] 发布于 2010-05-09 21:29:00
sheets("sheet2").delete
我来回复