作者:绿色风
分类:
时间:2022-08-18
浏览:142
楼主 杨开科 |
起源:http://www.exceltip.net/thread-34129-1-1.html
示例文件: 不打开工作簿读写数据.rar
本示例着重于对CreateObject 函数、GetObject 函数的理解。- Sub GetObjectDemo1()
- Dim f1, fso
- '关闭屏幕更新
- Application.ScreenUpdating = False
- '出现需用户应答的消息时,让Microsoft Excel 选择默认应答
- Application.DisplayAlerts = False
- '创建并返回一个对 ActiveX 对象的引用
- Set fso = CreateObject("Scripting.FileSystemObject")
- For Each f1 In fso.getfolder(ThisWorkbook.Path & "\").Files
- '对文件类型(f1.Type)及文件名(f1.Name)作一个判别,排除不相关的文件
- If f1.Type = "Microsoft Office Excel 工作表" And f1.Name <> ThisWorkbook.Name Then
- '使用 With...End With 语句块引用 GetObject(f1)对象
- With GetObject(f1)
- '在Sheet1工作表上的单元格区域A1:B10中写入数据
- .Sheets("Sheet1").Range("A1:B10").Value = f1.Name & "我爱你"
- .Sheets("Sheet1").Cells.EntireColumn.AutoFit '自动调整列宽
- Windows(f1.Name).Visible = True '设置对象窗口为可见状态
- ' .IsAddin = True
- ' .IsAddin = False
- .Close True '保存并关闭
- End With
- End If
- Next
- Application.DisplayAlerts = True
- Application.ScreenUpdating = True
- Set fso = Nothing
- End Sub
假定该示例所在文件夹中存在至少一个或多个工作簿,且工作簿中存在Sheet1工作表,运行该示例,将在所有工作簿(排除正在运行代码的工作簿)Sheet1工作表上的单元格区域A1:B10中写入数据。 注意:在示例文件代码中,Windows(f1.Name).Visible = True不可或缺,否则工作簿中窗口将被隐藏。或者也可设置Workbook 对象的IsAddin属性使得工作簿窗口由不可见变为可见,不过建议使用Windows(f1.Name).Visible = True。 关于如何读取工作簿数据,则对上述代码稍加修改即可,此处不再介绍。 |
2楼 开心E点 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一