注册 登录
编程论坛 VFP论坛

VFP移动EXCEL中工作表的代码如何写

wengjl 发布于 2022-03-25 10:22, 1543 次点击
在VFP的PRG代码中执行MyExcel.worksheets.add后,新增的工作表,在工作簿的最左侧,想要移动到最右,代码如何写?  录制宏试了,不成功。特此求助,谢谢!
7 回复
#2
sych2022-03-25 11:20
oExcel=Createobject("Excel.application")
oExcel.visible=.t.
oExcel.Workbooks.Add
oExcel.SHEETS(1).COPY(oExcel.SHEETS(1),NULL) &&&&把第1个工作表复制到第1个工作表之前
oExcel.SHEETS(1).move(,oExcel.SHEETS(oExcel.SHEETS.count)) &&&&把第1个工作表移动到最后
#3
sdta2022-03-25 11:21
3.3.1 移动工作表
  1、移动到指定工作表之前(将第一个工作表移动到第三个工作表之前)
  oExcel.WorkSheets("Sheet1").Move(oExcel.WorkSheets("Sheet3"))
  或者
  oExcel.Sheets(1).Move(oExcel.Sheets(3))
  2、移动到指定工作表之后(将第一个工作表移动到第三个工作表之后)
  oExcel.WorkSheets("Sheet1").Move(,oExcel.WorkSheets("Sheet3"))
  或者
  oExcel.Sheets(1).Move(,oExcel.Sheets(3))
#4
吹水佬2022-03-25 12:01
程序代码:
oExcel = CREATEOBJECT("Excel.Application")
oExcel.DisplayAlerts = 0
oExcel.WorkBooks.Add
n = oExcel.Worksheets.Count
FOR i=1 TO 3
    os = oExcel.Sheets.Add(,oExcel.Sheets[n])
    os.name = "新表"+TRANSFORM(i)
    n = n + 1
ENDFOR
oExcel.Visible = 1
#5
wengjl2022-03-25 12:23
非常感谢!
#6
laowan0012022-03-25 12:34
按需要的sheet顺序,靠右的先生成就行
#7
wengjl2022-03-25 13:37
对,这是一个很好的变通思维,思路总是在不断的交流中拓展
#8
minman2022-04-24 15:13
刚好也碰到类似问题。应该有增加时就在所有表之后的命令吧?这样就不必移动。
1