编程论坛
注册
登录
编程论坛
→
VFP论坛
求助:VFP操作Excel复制粘贴程序,Excel2010及以下版本没问题,Excel2013及以上版本不行,请各位大虾支招
sonmei
发布于 2022-03-24 14:16, 1551 次点击
本人用VFP写了一段试验命令,用VFP控制Excel复制的粘贴(见附件),在装Excel2007或Excel2010版本的电脑运行均没问题,但装Excel2013及以上版本的电脑运行发现没有粘贴成功(空白),请各位大虾支招,谢谢!
只有本站会员才能查看附件,请
登录
8 回复
#2
scywcxq
2022-03-24 15:35
回复 楼主 sonmei
希望能帮到你
只有本站会员才能查看附件,请
登录
#3
sonmei
2022-03-24 16:49
回复 2楼 scywcxq
虽然不是我想要的答案但还是谢谢!
#4
csyx
2022-03-25 08:22
我只有2010,无法测试,把你的代码简化下试试:
程序代码:
cPath
=
Sys(
5
)
+
Curdir()
cSrc
=
'
001.xlsx
'
cTag
=
'
002.xls
'
cSrc
=
ForcePath(cSrc, cPath)
cTag
=
ForcePath(cTag, cPath)
oExcel
=
NewObject(
'
Excel.Application
'
)
oExcel.DisplayAlerts
=
.F.
oBook1
=
oExcel.Workbooks.
Open
(cSrc)
oExcel.SheetsInNewWorkbook
=
2
oBook2
=
oExcel.Workbooks.
Add
()
oBook1.Sheets(
1
).Cells(
1
,
1
).Resize(
5
,
3
).Copy()
oBook2.Sheets(
2
).Cells(
1
,
1
).PasteSpecial()
oBook2.Sheets(
2
).Name
=
'
表2
'
oBook2.SaveAs(cTag,
39
)
oBook2.
Close
(.f.)
oBook1.
Close
(.f.)
oExcel.Quit()
#5
sonmei
2022-03-25 09:28
回复 4楼 csyx
已在2010和2013版本试过都可以成功粘贴,谢谢!
#6
吹水佬
2022-03-25 09:34
直接copy过去就可以了,速度也算够快
oBook1.Sheets(1).Cells(1,1).Resize(5,3).Copy(oBook2.Sheets(2).Cells(1,1))
#7
wengjl
2022-03-25 09:35
因为同为 .XLSX ,通常是与版本无关的,因为我没有高版本无法测试。
#8
csyx
2022-03-25 11:35
以下是引用
吹水佬
在2022-3-25 09:34:52的发言:
直接copy过去就可以了,速度也算够快
oBook1.Sheets(1).Cells(1,1).Resize(5,3).Copy(oBook2.Sheets(2).Cells(1,1))
还是先 Copy 后粘贴的好,通常我 PasteSpecial 时会带参数,例如:为了保留目标单元格的格式不变会带上 xlPasteValues
#9
sshhmm
2022-05-03 11:19
回复 2楼 scywcxq
真了不起,
1