我正在尝试在 MS Access 中创建一个链接到 Excel 工作表的链接表。我想通过 VBscripting 做到这一点。
我的场景是我将有一个经常更新的 Excel 表。但是我的脚本从 MSAccess 中的表中获取值,该表应该是 Excel 工作表(链接表)的副本。
所以我想知道VBscript中是否有任何代码可以在其中创建链接表到Excel工作表。
我正在尝试在 MS Access 中创建一个链接到 Excel 工作表的链接表。我想通过 VBscripting 做到这一点。
我的场景是我将有一个经常更新的 Excel 表。但是我的脚本从 MSAccess 中的表中获取值,该表应该是 Excel 工作表(链接表)的副本。
所以我想知道VBscript中是否有任何代码可以在其中创建链接表到Excel工作表。
这是一些示例脚本。
Dim cn ''As ADODB.Connection
Dim ct ''As ADOX.Catalog
Dim tbl ''As ADOX.Table
Dim strLinkXL ''As String
Dim strMDB ''As String
strLinkXL = "C:\Docs\LTD.xls"
strMDB = "C:\Docs\LTD.mdb"
''Create Link...
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strMDB & ";" & _
"Persist Security Info=False"
Set ct = CreateObject("ADOX.Catalog")
Set ct.ActiveConnection = cn
Set tbl = CreateObject("ADOX.Table")
Set tbl.ParentCatalog = ct
''Link Excel using named range
Set tbl = CreateObject("ADOX.Table")
Set tbl.ParentCatalog = ct
With tbl
.Name = "LinkTableXLRange"
.properties("Jet OLEDB:Link Provider String") = "Excel 8.0;DATABASE=" _
& strLinkXL & ";HDR=Yes"
''The named range
.properties("Jet OLEDB:Remote Table Name") = "Data_Range"
.properties("Jet OLEDB:Create Link") = True
End With
''Append the table to the tables collection
ct.Tables.Append tbl
Set tbl = Nothing
''Link Excel by sheet name
Set tbl = CreateObject("ADOX.Table")
Set tbl.ParentCatalog = ct
With tbl
.Name = "LinkTableXLSheet"
.properties("Jet OLEDB:Link Provider String") = "Excel 8.0;DATABASE=" _
& strLinkXL & ";HDR=Yes"
''Note the use of $, it is necessary
.properties("Jet OLEDB:Remote Table Name") = "Sheet2$"
.properties("Jet OLEDB:Create Link") = True
End With
''Append the table to the tables collection
ct.Tables.Append tbl
Set tbl = Nothing
来自:http ://wiki.lessthandot.com/index.php/Linking_Tables_via_Jet_and_ADO