我正在Workbook
的{{1}}上的宏容器Excel Table
中工作。
并且必须使用Sheet1
宏Table
创建DBF文件。
1注意在2003年之后,Excel不支持VBA
格式,因此我不能使用以下...
DBF
因此,请编写一个ActiveWorkbook.SaveAs _
Filename:="C:\insurance.dbf", _
FileFormat:=xlDBF4, _
CreateBackup:=False
宏,其中VBA
范围内的DBF
范围(多Filtered
的范围)Area
保存Table
Excel Worksheet
。
2-我可以通过上面假设的DBF
宏为我创建的VBA
中的每个字段定义我的自定义数据类型吗?
我不想打开或修改现有的*.dbf
。如果可能的话,我只是创建并保存DBF
和自定义Datatype
和length
;来自Worksheet
中具有VBA
function
的多区域过滤范围表。
我们可以使用:
Dim appAccess as Object
set appAccess = CreateObject("Acss.App")
...
appAccess.Run ...
为此?! (作为一个想法)
感谢。
更多说明:
是否有任何快速安静的方法可以从一系列Excel中导出dbf
文件?如果现有的直接方式是从该范围创建和保存dbf
文件,那就更好了。
答案 0 :(得分:0)
此代码并不完美。请参考它。
Sub myQuery()
Dim path As String, pathExcel As String
Dim dbName As String
'Dim App As Access.Application
Dim App As Object
'Set App = New Access.Application
On Error Resume Next
Set App = CreateObject("Access.Application")
path = "C:\Users\Administrator\Documents\"
pathExcel = ThisWorkbook.FullName
dbName = "C:\Users\Administrator\Documents\Database1.accdb" '<~~ in access, you create accdb(Database1.accdb) before.
App.OpenCurrentDatabase dbName
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Sheet1", pathExcel '<~~from sheet1 to access
App.DoCmd.TransferDatabase acExport, "DBase IV", path, acTable, "Sheet1", "test.dbf" '<~~ access table to dbf
DoCmd.DeleteObject acTable, "Sheet1"
App.DoCmd.Close
App.DoCmd.Quit
App.Quit
End Sub