excel的VBA关于如何后台打开工作簿并读取里面的数据问题(高手进)

用OpenpathnameFormode[Accessaccess][lock]As[#]filenumber[Len=reclength]语言可可以后台打开文件,并进行... 用Openpathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]语言可可以后台打开文件,并进行相应的读写操作,那可以用此方法读取excel工作簿内的数据么(此处仅指工作表中的数据,如图表,宏命令,控件等其它数据)
举个例子:
现在我想把g:\1.xls中Sheet2中的Cell(2,2)中的内容赋予变量Varl1中,这样的命令要怎样写呢?(请在保证完整性的前提下尽量把命令写的简洁些)
多谢了!
展开
 我来答
syx54
2012-12-19 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2731万
展开全部
'要在VB中操作Excel,需要引用Excel对象模型
'方法,在菜单里选择[工程] -- [引用],在窗口里勾选 Microsoft Excel XX.X Object Library
'其中,XX.X取决于你安装的Office的版本号
Private Sub Command6_Click()
Dim excel_App As Excel.Application
Dim excel_Book As Excel.Workbook
Dim excel_sheet As Excel.Worksheet
'启动Excel
Set excel_App = CreateObject("Excel.Application") '引用程序对象实例
excel_App.Visible = False '设置Excel为不可见
'打开文件
Set excel_Book = excel_App.Workbooks.Open("G:\1.XLS") '工作簿实例
Set excel_sheet = excel_Book.Worksheets("Sheet2") '数据表实例
excel_sheet.Range("C1").Value = "你好!" '设置单元格C1的值为"你好!"
excel_sheet.Range("A1").Value = 100 '设置单元格A1的值为100
excel_sheet.Range("A2").Value = 9 '设置单元格A2的值为9
excel_sheet.Range("A3").Value = excel_sheet.Range("A1").Value + excel_sheet.Range("A2").Value '计算
'''''''''''''''''''''''''''''''''''
'读取数据到变量
x = excel_sheet.Range("A2").Value ' 把单元格"A2"里的数据读取出来

'关闭Excel文件,注意下面步骤很重要,不能少!!!

Set excel_sheet = Nothing
excel_App.ActiveWorkbook.Close savechanges:=True '保存对EXCELL进行更改。
Set excel_Book = Nothing
excel_App.Quit
Set excel_App = Nothing
更多追问追答
追问
谢谢,不过还有点疑问
1,Set excel_Book = Nothing
Set excel_App = Nothing
Set excel_sheet = Nothing
以上这三行是不是必须得写呢?不写会有什么问题么?
追答
set object=nothing

当对象不用的时候,养成习惯,用该语句销毁,起到释放内存空间的作用。
权群28
2012-12-19 · TA获得超过750个赞
知道小有建树答主
回答量:513
采纳率:100%
帮助的人:214万
展开全部
1、定义新的Excel.Application对象(Dim EA as new Excel.Application)
2、新的Excel.Application隐藏(EA.Visible=False)
3、SET WB=EA.Workbook.open(”G:\1.xls”)'(WB事先定义成Wordbook对象:Dim WB as new workbook)
4、Var1=WB.Sheets(1).cells(2,2)
5、WB.Close False
6、SET EA=nothing
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
群雄领导
2015-09-18 · TA获得超过860个赞
知道大有可为答主
回答量:1231
采纳率:88%
帮助的人:647万
展开全部
懂点vba的看了下面的步骤就懂了。
1、Dim Wb As Workbook
2、 Dim Temp As String
3、 Temp = ThisWorkbook.Path & "\xxxx.xls"

4、Set Wb = GetObject(Temp)
5、 Wb.Windows(1).Visible = False
6、Wb.Sheets(1).cells(1,1)="xxxxx"
7、Wb.Windows(1).Visible = True
8、Wb.SaveAs
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuokangzo84
2021-07-07
知道答主
回答量:1
采纳率:0%
帮助的人:469
展开全部
Workbook.Open应该是Workbooks.Open
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式