<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>インポート・エクスポート | VBA・GAS・Pythonで仕事を楽しく効率化</title>
	<atom:link href="https://officevba.info/category/accessvba/%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%83%BB%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://officevba.info</link>
	<description>仕事の役に立つVBA・GAS・Pythonのコードを紹介していきます。</description>
	<lastBuildDate>Sat, 31 Jan 2026 12:25:17 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://officevba.info/wp-content/uploads/2017/04/cropped-Excel_1-32x32.jpg</url>
	<title>インポート・エクスポート | VBA・GAS・Pythonで仕事を楽しく効率化</title>
	<link>https://officevba.info</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>データインポート/エクスポートのAccessVBAコード</title>
		<link>https://officevba.info/accessdataimportexport/</link>
					<comments>https://officevba.info/accessdataimportexport/#respond</comments>
		
		<dc:creator><![CDATA[okumasahito]]></dc:creator>
		<pubDate>Thu, 19 Apr 2018 15:28:32 +0000</pubDate>
				<category><![CDATA[インポート・エクスポート]]></category>
		<guid isPermaLink="false">http://officevba.info/?p=1367</guid>

					<description><![CDATA[目次 Accessの中のデータをインポート/エクスポートDoCmdオブジェクトTransferTextメソッドの書式①変換種類②定義名③テーブル名（クエリ名）④ファイル名⑤フィールド名設定TransferSpreadsh [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Accessの中のデータをインポート/エクスポート</a></li><li><a href="#toc2" tabindex="0">DoCmdオブジェクト</a><ol><li><a href="#toc3" tabindex="0">TransferTextメソッドの書式</a></li><li><a href="#toc4" tabindex="0">①変換種類</a></li><li><a href="#toc5" tabindex="0">②定義名</a></li><li><a href="#toc6" tabindex="0">③テーブル名（クエリ名）</a></li><li><a href="#toc7" tabindex="0">④ファイル名</a></li><li><a href="#toc8" tabindex="0">⑤フィールド名設定</a></li><li><a href="#toc9" tabindex="0">TransferSpreadsheetメソッド</a></li><li><a href="#toc10" tabindex="0">①変換種類</a></li><li><a href="#toc11" tabindex="0">②ファイル形式</a></li><li><a href="#toc12" tabindex="0">③テーブル名（クエリ名）・④ファイル名・⑤フィールド名設定</a></li><li><a href="#toc13" tabindex="0">⑥Range(インポートのみ)</a></li></ol></li><li><a href="#toc14" tabindex="0">サンプルコード</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">Accessの中のデータをインポート/エクスポート</span></h2>
<p>記載ルールはあるので、すべてエラーなく行うのはコツが必要ですが、ExcelやテキストなどのデータはVBAでAccessのテーブルに取り込むことができます。</p>
<p>また逆にAccessで作成したテーブルのデータ・集計クエリのデータなどはVBAを用いてExcel形式やcsv形式、txt形式のデータをエクスポートすることができます。</p>
<p>今回はこれらのAccessVBAのデータのインポート/エクスポートに使用するVBAコードを紹介します。</p>
<h2><span id="toc2">DoCmdオブジェクト</span></h2>
<p>データベース上のオブジェクトをVBAで操作・制御するためのオブジェクトがDoCmdオブジェクトで、DoCmdオブジェクトにはたくさんのメソッドが用意されています。</p>
<p>（私も全然把握しきれていませんがどうやら60種類以上が存在するようです。）</p>
<p>データのインポート/エクスポートはDoCmdオブジェクトのTransferTextメソッド・TransferSpreadsheetメソッドを使用し、以下のように記述します。</p>
<p>TransferTextメソッドはテキストファイルをインポート・エクスポートするのに使用し、TransferSpreadsheetメソッドはExcelファイルをインポート・エクスポートするのに使用します。</p>
<h3><span id="toc3">TransferTextメソッドの書式</span></h3>
<p>TransferTextメソッドの書式は以下のようになります。</p>
<div class="VBACode">DoCmd.TransferText 変換種類,定義名,テーブル名（クエリ名）,作成するファイル名,フィールド名設定</div>
<h3><span id="toc4">①変換種類</span></h3>
<p>カンマ区切り、固定長などのテキストの種類と、インポートするのかエクスポートするのかを確定する引数です。<br />
よく使われるのは規定値の「acImportDelim」カンマ区切りのデータのインポートか「acExportDelim」カンマ区切りのエクスポートです。</p>
<h3><span id="toc5">②定義名</span></h3>
<p>定義名を指定する引数ですが、私はあまり使ったことがありません。省略できます。</p>
<h3><span id="toc6">③テーブル名（クエリ名）</span></h3>
<p>インポートもしくはエクスポートの対象となるテーブルを指定します。<br />
エクスポートの場合、対象にクエリを選択することでクエリの結果を出力することもできます</p>
<h3><span id="toc7">④ファイル名</span></h3>
<p>インポート・エクスポートの対象となるファイルとパスを指定します。</p>
<h3><span id="toc8">⑤フィールド名設定</span></h3>
<p>1行目をフィールドとするかどうかを指定する引数です。<br />
Trueを指定すると1行目をフィールド名とし、Falseを指定するか省略すると1行目をフィールド名としない設定になります。</p>
<h3><span id="toc9">TransferSpreadsheetメソッド</span></h3>
<p>TransferSpreadsheetメソッドの書式は以下のようになります。</p>
<div class="VBACode">DoCmd.TransferSpreadsheet 変換種類,ファイル形式,テーブル名（クエリ名）,作成するファイル名,フィールド名設定,Range</div>
<h3><span id="toc10">①変換種類</span></h3>
<p>インポートするかエクスポートするかを規定します。<br />
テキストファイルのようにカンマ区切りや固定長区切りのような種類があるわけではないので「acImport」「acExport」のどちらかになります。</p>
<p>（リンクテーブルなどを指定する方法もありますがここでは割愛します。）</p>
<h3><span id="toc11">②ファイル形式</span></h3>
<p>Excelの形式を決定するものです。一番新しいExcelで使用した場合はacSpreadsheetTypeExcel12（”9”でも同じ意味）です。<br />
省略もできるので、同じバージョンのExcelとAccessを使用したパソコンでインポート・エクスポートするなら省略しても良いと思います。</p>
<h3><span id="toc12">③テーブル名（クエリ名）・④ファイル名・⑤フィールド名設定</span></h3>
<p>テーブル名・ファイル名・フィールド名設定はTransferTextと全く同じですので上記をご参照ください。</p>
<h3><span id="toc13">⑥Range(インポートのみ)</span></h3>
<p>Excelファイルをインポートする場合のみ、セルの範囲の指定することができます。<br />
シート全体を取り込むなら省略しても大丈夫です。</p>
<h2><span id="toc14">サンプルコード</span></h2>
<p>TransferSpreadsheetメソッドでExcelのファイルを取り込むサンプルコードはこちらです。<br />
このコードはデスクトップの「元Excelファイル.xlsx」のシート1のA1からF100の範囲をT_取り込みテーブルにインポートします。</p>
<div class="VBACode">DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, &#8220;T_取り込みテーブル&#8221;, “C:\Users\ユーザ名\Desktop\元Excelファイル.xlsx”, True, &#8220;Sheets1!A1:F100&#8221;</div>
]]></content:encoded>
					
					<wfw:commentRss>https://officevba.info/accessdataimportexport/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
