我有一个生成多个电子表格的流程。它没有保存它们,这很好,因为通常它们会被手动保存。 我想编写一个宏,按顺序访问每个工作表,执行一些魔术,然后保存并关闭工作表。 使用Excel 2016时,这不是问题。 但是我的Excel 2010正在工作,它无法看到任何工作簿。
使用Excel 2016,此方法有效:
Workbooks("Book3").sheets("B3T1").activate
ActiveWindow.WindowState = xlMaximized
使用Excel 2010这是我收到的消息:
Workbooks("Book3").sheets("B3T1").activate
runtime error '9'. Subscript out of Range
我应该使用什么方法打开外部工作簿
先谢谢
答案 0 :(得分:0)
假设正在访问的工作簿已保存在某个位置。
这将打开外部文件并访问它们。宏也将关闭并保存文件。
from pprint import pprint
data = ['Observed on Date 56370 at 850 F, -0.272 +/- 1.035',
'Observed on Date 56372 at 849 F, 0.051 +/- 0.945',
'Observed on Date 56381 at 850 F, 0.101 +/- 0.353',]
columns = list(zip(*(row.split() for row in data)))
pprint(columns)
答案 1 :(得分:0)
生成工作表的进程不会保存工作表。这是一个手动操作。有100个工作表,我想要一种方法来避免必须最大化每个工作表/处理/保存它。
GetObject方法终于奏效了:
For ptr = 1 To 100
Set xlApp = GetObject("Book" & ptr).Application
xlApp.Application.Workbooks("Book" & ptr).Sheets(1).Activate
do some processing
xlApp.Application.Quit
next
一小时+过程现在缩短为1秒