请教VBA不打开excel文件取得指定单元格数据

这里我不想打开xls文件,因为打开比较慢.

不可能不打开文件而取得数据,只要访问文件,就得打开文件,即使是不显示出来的。不管用什么样的方式都是一样的,除非直接访问磁盘。

下面的方法可以不显示打开文件的过程,只是在内存中进行访问,速度比直接打开应该快一些。

application.Workbooks.Open 文件路径
application.Workbooks(文件名).Close true或false表示是否保存
复制就是application.Workbooks("文件名").sheets("表名").range(源单元格地址).copy ActiveSheet.range(目标单元格地址)
你可以用Set xlApp = CreateObject("Excel.Application")来建立一个看不到的Excel应用程序对象,然后用xlApp 来替代上面的Application,就会看不到打开的过程了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-06
VBA脱离Excel就无法运行。不知道你是在什么情况下取单元格数据?

如果是在jsp里取,可以使用jxl或poi,不会启动excel就能取单元格数据

请教VBA不打开excel文件取得指定单元格数据
不可能不打开文件而取得数据,只要访问文件,就得打开文件,即使是不显示出来的。不管用什么样的方式都是一样的,除非直接访问磁盘。下面的方法可以不显示打开文件的过程,只是在内存中进行访问,速度比直接打开应该快一些。application.Workbooks.Open 文件路径 application.Workbooks(文件名).Close true或false...

excelvba如何不打开工作表读取数据
在Excel VBA中,如果你希望不打开工作表而直接读取数据,一种常见且有效的方法是使用ADODB(ActiveX Data Objects)来连接Excel文件,并将其视为数据库表进行查询。这种方法允许你直接从Excel文件中检索数据,而无需打开Excel界面,也不会显示任何表格或图片。首先,你需要在VBA编辑器中引用Microsoft ActiveX ...

VBA如何在不打开工作簿的情况下引用工作簿中的单元格(关键在于不打开...
Public excelapp As New Excel.ApplicationDim fd As FileDialogDim Filepath As Stringdim arr(1 to 100) as integerfilepath=你引用的那个文件的全部路径名称+文件名称Set Workbook = excelapp.Workbooks.Open(Filename:=filepath)With excelapp.Application'---你要引用什么就写下面,比如 我把目标文...

...在不打开工作薄情况下提取单元内容excelvba不打开表格读取数据_百度...
Sub 不打开工作薄提取内容()Sheet18.Range(\\"CL14\\").FormulaR1C1=\\"='F:\\\\SINO管理学\\\\NWE \\\\工作文档\\\\[统计50.xls]审核表'!R[-6]C[-87]\\"End Sub

excel VBA在不打开工作薄情况下提取单元内容
一般不打开工作簿 其实还是打开 只是隐藏掉了过程而已 Sub zldccmx()Application.EnableEvents = False Application.ScreenUpdating = False Set xap = GetObject("N:\\Fab\\Marking\\Cutting\\Data.xls") '我要得到的文件的的路径是:N:\\Fab\\Marking\\Cutting\\Data.xls arr = xap.Sheets("Sheet2").[...

如何用vba不打开excel文件读写数据
代码及注释如下:在VBE界面左上角sheet3下面的ThisWorkbook中加入如下代码——Private Sub Workbook_Open()'选择事件为工作表打开时触发 Application.Visible = False'将Excel文件隐藏 UserForm1.Show'像是窗体 End Sub

excel vba,读取指定路径上的excel 文件数据,后台读取,不要打开它
只能给你个几个参考,当然还有其他方法,希望能够帮到你 望采纳 getobject函数 本质是打开的,只是看不到窗口 Dim wb as workbook set wb = getobject(具体路径+文件)with wb ...(operation on wb)end with wb.close false set wb=nothing ...

Excel VBA 不打开问价提取数据指定区域修改成(该sheet使有使用的单 ...
Sub HandleDate(path$, file_name$, sheet_name$, aim_rng$) On Error Resume Next With ActiveCell.Resize(Range(aim_rng).Rows.Count, Range(aim_rng).Columns.Count) .Formula = "='" & path & "\\[" & file_name & "]" & sheet_name & "'!" & aim_rng .Value =...

VBA怎么在文件夹内,提取EXCEL的特定内容?
i = Cells(Rows.Count, 1).End(3).Row Set fso = CreateObject("scripting.filesystemobject")Set myfolder = fso.GetFolder("D:\\a") '引号内填写文件夹a的完整路径 For Each myfile In myfolder.Files If myfile.Name Like "*.xls*" Then Set wb = Workbook.Open(myfile.Path)i = i ...

求VBA编码,不打开工作表情况下选定区域的替换。
为什么要不打开的情况下?宏是内嵌在Excel中的,不打开就不会运行。如果一定要不打开这个Excel,也必须要另外打开别的Excel,然后调用别的VBA来处理此表。当然,最好就直接改用VB而不是用VBA。

相似回答