|
外部データの取り込み(Accessのクエリ)を、マクロの記録で記録したものが
下記になります。
Sub オートシェイプ24_Click()
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\Documents and Settings\XXXXXX\デスクトップ\ACCESS\共有管理マスタ.md" _
, _
"b;Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Passwo" _
, _
"rd="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transa" _
, _
"ctions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Do" _
, _
"n't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Range("B2"))
.CommandType = xlCmdTable
.CommandText = Array("Q_使用済コード一覧")
.Name = "共有管理マスタ Q_使用済コード一覧"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceConnectionFile = _
"C:\Documents and Settings\XXXXXX\My Documents\My Data Sources\共有管理マスタ Q_使用済コード一覧.odc"
.SourceDataFile = _
"C:\Documents and Settings\XXXXXX\デスクトップ\ACCESS\共有管理マスタ.mdb"
.Refresh BackgroundQuery:=False
End With
End Sub
上記だと処理時間が非常にかかります。
処理時間を短縮させる妙案はないものでしょうか?
データは40000件程あります。
Excel2003,Access2003を利用しております。
宜しくお願いいたします
|
|