回 帖 发 新 帖 刷新版面

主题:怎样用VFP语言插入二张EXCEL表到一个工作簿中去

请教高手:我有二个EXCEL表,A.xls和B.xls,怎样在VFP语言里把这二张表分别插入到一个工作簿中,如ABC.xls。A.xls对应于sheet1,B.xls对应于sheet2。

回复列表 (共10个回复)

沙发

参考这里
http://bbs.pfan.cn/post-320108.html
特别是10楼的资料

板凳

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 楼

谢谢2楼的指教。
  eole.ActiveSheet.UsedRange.Cells.select          &&选择数据区
  这句程序我要求不单单选择数据区,要求选择整张表的数据,包括表格所有的格式。
  eole.ActiveSheet.Paste          &&粘贴
  这句程序执行后,会出现一段是否保留剪贴板内容的提示,请不让这提示显示。
  请2楼高手再指教,非常感谢!

4 楼

请参照这一贴的5楼
http://bbs.pfan.cn/post-321447-1.html

5 楼

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 楼

请教5楼:怎样把工作表“sheet1”改名;怎样把工作表“sheet2”删除。谢谢!

7 楼

试试这次郊果:
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 楼

请教7楼:怎样把工作表“sheet1”改名;怎样把工作表“sheet2”删除。谢谢!

9 楼

用录制宏的方法可以得到:
    .Sheets("Sheet1").Name = "Newname"
    .Sheets("Sheet2").Select
    .ActiveWindow.SelectedSheets.Delete

10 楼

sheets("sheet2").delete

我来回复

您尚未登录,请登录后再回复。点此登录或注册