SQLの窓

2015年02月24日


VBScript : Access のテーブルを TransferText メソッドを使用して UTF-8 で CSV または HTML にして出力する



syain.html

Microsoft ドキュメント

DoCmd.TransferText メソッド

AcTextTransferType

サポートするコード ページ

概要

CSV と HTML で出力していますが、どちらも最後の引数にコードページを示す値で、UTF-8 を意味する 65001 をセットしています。そうすると、HTML では自動的に META 要素に UTF-8 が設定されて、ファイルは UTF8N になります。CSV もまた UTF8N で出力されます。

最初の引数で、エクスポートタイプを指定していますが、本来定数定義されているタイプライブラリを GUID で参照してそのまま使用しています。

GUID は、OLE-COM Object Viewer(Visual Studio 2010) で、Type Libraries ツリーより Microsoft Access 14.0 Object Library を開いて 取得しています。
<JOB>
<OBJECT id="Acc" progid="Access.Application" />
<OBJECT id="Fso" progid="Scripting.FileSystemObject" />
<REFERENCE guid="4AFFC9A0-5F99-101B-AF4E-00AA003F0F07" />
<SCRIPT language="VBScript">
' **************************************
' スクリプトのあるディレクトリの取得
' **************************************
strCurPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

Acc.OpenCurrentDatabase( strCurPath & "\社員マスタ.accdb") 

Acc.docmd.TransferText acExportDelim, "", "社員マスタ", strCurPath & "\syain.csv", true, "", 65001
Acc.docmd.TransferText acExportHTML, "", "社員マスタ", strCurPath & "\syain.html", true, "", 65001

Acc.docmd.Closedatabase

' 終了確認
Wscript.Echo "処理が終了しました"

</SCRIPT>
</JOB>

ファイルのバスの後の True は、1 行目をフィールド名として使用すると言う意味です。。テキスト ファイルの 1 行目をデータとして処理する場合は、False (0) を使います。この引数を指定しないと、False (既定値) が使われます。


タグ:VBScript access
posted by lightbox at 2015-02-24 21:17 | VBS + オブジェクト | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり