用vb如何打开EXCEL xls格式的文件
各位大侠请帮忙看一下我有一个excel文件是共享的,里面涉及vba宏代码,但是一旦启用"共享模式"就无法使用宏代码,
请教各位 用vb是否有办法打开xls格式文件后可以使用宏代码? --------------------编程问答-------------------- Dim xlApp As Excel.application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = New Excel.application
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Sheets("Sheet1")
添加Excel对象的引用,你可参考MSDN,里面有例子。
这样可以打开Excel文件,在你的VB总运行你录制的宏代码即可。 --------------------编程问答--------------------
Private Sub Command3_Click()--------------------编程问答-------------------- Dim xlmodule As Object 'VBComponent
Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Open("C:\A.XLS") '打开你的文件
Set sh = wb.Sheets(2) '第一个工作表
ex.Application.Run "你的宏名"
ex.Visible = True
'wb.Close SaveChanges:=True '直接关闭不保存
'ex.Quit
Set ex = Nothing
Set wb = Nothing
Set sh = Nothing
End Sub
Set xlmodule = xlBook.VBProject.VBComponents.add(1) 'vbext_ct_StdModule
' Add a macro to the module...
Dim strCode As String
strCode = _
"Sub MyMacro()" & vbCr & _
"macro code" & vbCr & _
"end sub"
xlmodule.CodeModule.AddFromString strCode
xlApp.Run "MyMacro" --------------------编程问答-------------------- 既然是共享方式打开EXCEL,那么就是只读的,不需要修改和保存
既然是只读打开,不需要向原始EXCEL文件中写数据, 那么可以考虑先用命令把这个EXCEL文件拷贝一个副本到某处再用独立模式打开. --------------------编程问答-------------------- 用“shell”命令试试 --------------------编程问答-------------------- 又学一点儿 --------------------编程问答--------------------
同意! --------------------编程问答-------------------- 我也有些明白了 --------------------编程问答-------------------- 1;从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。2007的就是Microsoft Excel 12.0 Object Library了;
2;在通用过程中输入代码(定义类的):
Dim xlApp As Excel.Application
Dim xlBook As Excel.WorkBook
Dim xlSheet As Excel.Worksheet
2;
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.Visible = True '设置EXCEL可见
Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打开EXCEL工作簿,D:\temp\bb.xls 是你想打开的任意XLS表格。
Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
xlsheet.Activate '激活工作表
xlsheet.Cells(1, 1) = "abc" '给单元格1行驶列赋值
xlBook.Close (True) '关闭EXCEL工作簿
xlApp.Quit '关闭EXCEL
3;其他深入的东西你应该理解了吧~~呵呵!
有其他问题请加我Q讨论:80258441
--------------------编程问答-------------------- 楼上的太有耐心了,我支持你!
补充:VB , 基础类