SQLServer は、SQLExpress を使用しています。古い環境からの移行なので、sa のパスワードは空になっています。 エクスポートする為に、Microsoft Access の select into 〜 from 〜 を使用し、SQLServer への接続は、動的に SQL 内で接続文字を作成して使用しています。SQLServer への接続部分は、『mypc\sqlexpress,1433』で、ポートが必要で、サーバー側の設定も必要です。別名を使う方法もありますが、SQLServer 構成用のソフトウェアをインストールしていないクライアントでは、レジストリに登録する必要があるので、この方法(mypc\sqlexpress,1433)が良いと思います。 Office 2003 までで動作する互換処理
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set Cn = CreateObject( "ADODB.Connection" )
Set Adox = CreateObject( "ADOX.Catalog" )
Set Shell = CreateObject( "Shell.Application" )
SelectDir = "C:\user\lightbox\vbs"
' Excel 削除
on error resume next
Fso.DeleteFile(SelectDir & "\エクスポート.xls")
on error goto 0
' ユーザーフォルダ( C:\Users\ユーザ名 )
Set objFolder = Shell.Namespace(&H28)
Set objFolderItem = objFolder.Self
' XP の場合の為、( Windows7 でもシステムが対応してくれます )
strPath = objFolderItem.Path & "\Local Settings\Temp\dummy.mdb"
' 一時 Microsoft Access の削除
on error resume next
Fso.DeleteFile(strPath)
on error goto 0
' 接続文字列
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & strPath & ";"
' 一時 Microsoft Access 作成
Adox.Create ConnectionString
' 作成した Microsoft Access に接続
Cn.Open ConnectionString
' V_EXCELOUT は、SQLExpress のビュー
Query = "select * "
Query = Query & "into [Excel 8.0;DATABASE=" & SelectDir & "\エクスポート.xls].[社員データ] "
Query = Query & " from [ODBC;Driver={SQL Server};SERVER=mypc\sqlexpress,1433;Database=mydb;UID=sa;PWD=].[V_EXCELOUT]"
Query = Query & " WHERE 年度 = '2013' and コード = '0001'"
Query = Query & " ORDER BY V_EXCELOUT.ふりがな"
Cn.Execute Query
Call Cn.Close()
MsgBox("処理が終了しました")
ここでの環境は Office 2007 です
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set Cn = CreateObject( "ADODB.Connection" )
Set Adox = CreateObject( "ADOX.Catalog" )
Set Shell = CreateObject( "Shell.Application" )
SelectDir = "C:\user\lightbox\vbs"
' Excel 削除
on error resume next
Fso.DeleteFile(SelectDir & "\エクスポート.xlsx")
on error goto 0
' ユーザーフォルダ( C:\Users\ユーザ名 )
Set objFolder = Shell.Namespace(&H28)
Set objFolderItem = objFolder.Self
' XP の場合の為、( Windows7 でもシステムが対応してくれます )
strPath = objFolderItem.Path & "\Local Settings\Temp\dummy.accdb"
' 一時 Microsoft Access の削除
on error resume next
Fso.DeleteFile(strPath)
on error goto 0
' 接続文字列
ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & strPath & ";"
' 一時 Microsoft Access 作成
Adox.Create ConnectionString
' 作成した Microsoft Access に接続
Cn.Open ConnectionString
' V_EXCELOUT は、SQLExpress のビュー
Query = "select * "
Query = Query & "into [Excel 12.0 Xml;DATABASE=" & SelectDir & "\エクスポート.xlsx].[社員データ] "
Query = Query & " from [ODBC;Driver={SQL Server};SERVER=mypc\sqlexpress,1433;Database=mydb;UID=sa;PWD=].[V_EXCELOUT]"
Query = Query & " WHERE 年度 = '2013' and コード = '0001'"
Query = Query & " ORDER BY V_EXCELOUT.ふりがな"
Cn.Execute Query
Call Cn.Close()
MsgBox("処理が終了しました")
関連する記事
VBScriptドキュメント
|
|
【VBS + ADOの最新記事】
- VBScript : Oracle Database Express Edition 11g Release 2 に MDB(販売管理C) のデータをインポートする
- VBScript : PostgreSQL(9.3.4) に MDB(販売管理C) のデータをインポートする
- VBscript : 新しい Mictrosoft Access(2007以降)へ、古い MDB からデータを移行する
- VBScript : 古い Access2003 までのデータベース作成と新しい Access2007 以降のデータベース作成
- VBScript : ADO で Excel2007(Excel 2010、Excel 2013) にアクセスする( シートをテーブルとして読み込む )
- VBScript : ADO を使用して、MDB(Access2003) のデータを SQLite ODBC Driver で sqlite3(UTF-8) を作成
- VBScript +ADO / MDB から SQLite3 へ ODBC ドライバを使ってフィールドオブジェクトを使用した同一フォーマットのテーブル間のデータコピー(データベースは自動的に作成されま..
- VBScript : ADO経由の一時PL/SQL でエクスポートを実行する(Data Pump Export)
【VBScript関連のカテゴリ】






