怎样使用vb对当前打开的excel操作?
我要实现这样的功能。手动打开一个的excel,使用vb程序,向excel当前选定的单元格写值。然后依次行加一,然后继续写值。最后保存excel。...
我要实现这样的功能。手动打开一个的excel,使用vb程序,向excel当前选定的单元格写值。然后依次行加一,然后继续写值。最后保存excel。
展开
4个回答
展开全部
首先要引用EXCEL,方法 工程-引用并弯燃-microsoft excel11.0
然后写代码
'第一步 打开EXCEL
Set ex = CreateObject("Excel.Application")
Set exwbook = ex.Workbooks().add
Set exsheet = exwbook.Worksheets("sheet1")
'第二步 向EXCEL写值
ex.Range("a1").Value = "AAAA"
ex.Range("绝虚b1").Value = "BBBB"
ex.Range("c1").Value = "CCCC"
ex.Range("d1").Value = "DDDD"
ex.Cells(1,1) ="ABCD"
'第三闹如步 保存EXCEL
exwbook.SaveAs "abc.xls"
ex.quit
VB调用EXCEL还有很多功能,慢慢百度学习吧。
然后写代码
'第一步 打开EXCEL
Set ex = CreateObject("Excel.Application")
Set exwbook = ex.Workbooks().add
Set exsheet = exwbook.Worksheets("sheet1")
'第二步 向EXCEL写值
ex.Range("a1").Value = "AAAA"
ex.Range("绝虚b1").Value = "BBBB"
ex.Range("c1").Value = "CCCC"
ex.Range("d1").Value = "DDDD"
ex.Cells(1,1) ="ABCD"
'第三闹如步 保存EXCEL
exwbook.SaveAs "abc.xls"
ex.quit
VB调用EXCEL还有很多功能,慢慢百度学习吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'菜单明手“工程/引用”,勾选Microsoft Excel 11库,必须的
Private Sub Command1_Click()
Dim i As Long
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then exit sub'没有打开
Set xlBook = xlApp.ActiveWorkbook '打开的EXCEL文激轿嫌件帆闷
For i = 0 To 10
xlApp.ActiveCell.Offset(i) = i
Next i
xlBook.Save
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
Private Sub Command1_Click()
Dim i As Long
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then exit sub'没有打开
Set xlBook = xlApp.ActiveWorkbook '打开的EXCEL文激轿嫌件帆闷
For i = 0 To 10
xlApp.ActiveCell.Offset(i) = i
Next i
xlBook.Save
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim MyXL As Object
Set MyXL = CreateObject("excel.application") ‘这是自举燃动打开一个Excel文件
Set mybook = MyXL.Workbooks.Open("D:\ATL - 1.85 632996.xls")
'如果是处理已经打开的Excel,用:
'Set MyXL = GetObject(, "Excel.Application ")
Set mysheet = mybook.Worksheets("Raw Data")
mysheet.cells(12, 4) = "goodgood"
'当前选中单元格的行号和列号:
MyXL.ActiveCell.Row
MyXL.ActiveCell.Column
刷新应该是Excel的事情,里面有基橡 个 MyXL.ScreenUpdating属性,用=True 或 =False来正锋虚设置是否刷新
Set MyXL = CreateObject("excel.application") ‘这是自举燃动打开一个Excel文件
Set mybook = MyXL.Workbooks.Open("D:\ATL - 1.85 632996.xls")
'如果是处理已经打开的Excel,用:
'Set MyXL = GetObject(, "Excel.Application ")
Set mysheet = mybook.Worksheets("Raw Data")
mysheet.cells(12, 4) = "goodgood"
'当前选中单元格的行号和列号:
MyXL.ActiveCell.Row
MyXL.ActiveCell.Column
刷新应该是Excel的事情,里面有基橡 个 MyXL.ScreenUpdating属性,用=True 或 =False来正锋虚设置是否刷新
追问
'如果是处理已经打开的Excel,用:这正是我想要的,但是下面的语句总是显示“Active元件无法产生物件”,这是怎么回事呀?
'Set MyXL = GetObject(, "Excel.Application ")
保存的部分,我想实现直接保存,不要弹出对话框
使用mybook.Saved对吗?
追答
设置Mybook.Saved = True
然后
MyBook.Close
MyXL.Quit
Set MyBook = Nothing
Set MyXL = Nothing
如果不想让关闭是出现 一些提示,如“粘贴板上有大量信息……”之类的,可以用 在关闭前加上:
MyXL.DisplayAlerts =False
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的做法也可以,但是比较麻烦
追问
怎么做到呢?我已经试到了向特定单元格写值。我想怎样得到当前单元格的行列号呢?另外就是excel在vb写完值得时候能够及时刷新,让我看到变化。help,大侠。
Dim MyXL As Object
Set MyXL = CreateObject("excel.application")
Set mysheet = Nothing
Set mybook = Nothing
Set mybook = MyXL.Workbooks.Open("D:\ATL - 1.85 632996.xls")
Set mysheet = mybook.Worksheets("Raw Data")
mysheet.cells(12, 4) = "goodgood"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询