VB中spreadsheet控件如何中如何打开Excel文件?

ycZhao123 2014-10-25 03:26:18
RT,我要在spreadsheet1的sheet1、sheet2、sheet3中分别放入三个不同的xls文件,已经建立了FileListBox控件,双击控件中的文件即可打开,其他部分都已写好,就是三个xls文件内数据相差太大,我自己写的代码就有些不合适了,请大神指教下如何将xls文件内的数据读出并写在表格里的好方法,万分感谢!有什么不合理请尽情指出,我是新手。我的代码是这样:
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet



Set xlsApp = Nothing
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & File1.FileName)
xlApp.Visible = False 'true false
Set xlSheet = xlBook.Worksheets("Sheet1")
For a1 = 1 To 20
For b1 = 1 To 20
Spreadsheet1.Cells(a1, b1) = xlSheet.Cells(a1, b1)
Next b1
Next a1

ExitExcel:
On Error Resume Next
xlBook.Close (True) 'true false
xlApp.Quit
Set xlApp = Nothing

这样的话就固定了写入的20*20=400个单元格,但有xls文件只有几十个,有的有300多,有没有什么好的方法能不固定数目,全部写入?
...全文
482 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycZhao123 2014-11-03
  • 打赏
  • 举报
回复
引用 1 楼 mokton 的回复:
给你介绍一个新控件套件 spreadsheetgear 自己找下,去试试看。
谢谢,不过我已经解决了问题,用的是usedrange.rows.count语句
mokton 2014-10-28
  • 打赏
  • 举报
回复
给你介绍一个新控件套件 spreadsheetgear 自己找下,去试试看。
OLE 程序标识符请参阅特性 可使用 OLE 程序标识符(有时称作 ProgID)创建自动化对象。下表列出了 ActiveX 控件、Microsoft Office 应用程序和 Microsoft Office Web 组件的 OLE 程序标识符。 ActiveX 控件 Microsoft Access Microsoft Excel Microsoft Graph Microsoft Office Web 组件 Microsoft Outlook Microsoft PowerPoint Microsoft Word ActiveX 控件若要创建下表列出的 ActiveX 控件,请使用相应的 OLE 程序标识符。 若要创建此控件 请使用此标识符 CheckBox Forms.CheckBox ComboBox Forms.ComboBox CommandButton Forms.CommandButton Frame Forms.Frame Image Forms.Image Label Forms.Label ListBox Forms.ListBox MultiPage Forms.MultiPage OptionButton Forms.OptionButton ScrollBar Forms.ScrollBar SpinButton Forms.SpinButton TabStrip Forms.TabStrip TextBox Forms.TextBox ToggleButton Forms.ToggleButton Microsoft Access 若要创建下表列出的 Microsoft Access 对象,请使用相应的 OLE 程序标识符之一。如果使用不带版本号后缀的标识符,则会在最近版本的 Access(运行宏的计算机上可用的 Access 版本)创建对象。 若要创建此对象 请使用这些标识符之一 Application Access.Application CurrentData Access.CodeData CurrentProject Access.CodeProject DefaultWebOptions Access.DefaultWebOptions Microsoft Excel 若要创建下表列出的 Microsoft Excel 对象,请使用相应的 OLE 程序标识符之一。如果使用不带版本号后缀的标识符,则会在最近版本的 Excel(运行宏的计算机上可用的 Excel 版本)创建对象。 若要创建此对象 请使用这些标识符之一 备注 Application Excel.Application Workbook Excel.AddIn Workbook Excel.Chart 返回包含两张工作表的工作簿;其一个为图表,另一个为图表的数据。图表工作表为活动工作表。 Workbook Excel.Sheet 返回具有一张工作表的工作簿。 Microsoft Graph 若要创建下表列出的 Microsoft Graph 对象,请使用相应的 OLE 程序标识符之一。如果使用不带版本号后缀的标识符,则会在最近版本的 Graph(运行宏的计算机上可用的 Graph 版本)创建对象。 若要创建此对象 请使用这些标识符之一 Application MSGraph.Application Chart MSGraph.Chart Microsoft Office Web 组件若要创建下表列出的 Microsoft Office Web 组件对象,请使用相应的 OLE 程序标识符之一。如果使用不带版本号后缀的标识符,则会在最近版本的 Microsoft Office Web 组件(运行宏的计算机上可用的 Microsoft Office Web 组件版本)创建对象。 若要创建此对象 请使用这些标识符之一 ChartSpace OWC.Chart DataSourceControl OWC.DataSourceControl ExpandControl OWC.ExpandControl PivotTable OWC.PivotTable RecordNavigationControl OWC.RecordNavigationControl Spreadsheet OWC.Spreadsheet Microsoft Outlook 若要创建下表列出的 Microsoft Outlook 对象,请使用相应的 OLE 程序标识符之一。如果使用不含版本号后缀的标识符,则会在可用的最近版本的 Outlook(运行该宏的计算机上的可用 Outlook 版本)创建对象。 若要创建此对象 请使用这些标识符之一 Application Outlook.Application Microsoft PowerPoint 若要创建下表列出的 Microsoft PowerPoint 对象,请使用相应的 OLE 程序标识符之一。如果使用不含版本号后缀的标识符,则会在可用的最近版本的 PowerPoint(运行该宏的计算机上的可用 PowerPoint 版本)创建对象。 若要创建此对象 请使用这些标识符之一 Application PowerPoint.Application Microsoft Word 若要创建下表列出的 Microsoft Word 对象,请使用相应的 OLE 程序标识符之一。如果使用不带版本号后缀的标识符,则会在最近版本的 Word(运行宏的计算机上可用的 Word 版本)创建对象。 若要创建此对象 请使用这些标识符之一 Application Word.Application Document Word.Document, Word.Template Global Word.Global

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧