sendobjectでオブジェクトの種類をクエリー、出力ファイル形式csvがあれば一番いいのですがどうしたらよいでしょう。
accessの上のバージョンではできるのですか。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

まず、クエリを開いておいて、メニューのファイルからエクスポート選ぶと、ウィザードが立ち上がります。


後はウィザードの説明を見ればわかると思いますが、ファイルの種類をテキストにして、区切り文字をカンマにし、最後にファイル名を付けますので、その時に拡張子をCSVに変えればCSVで出力できます。
    • good
    • 0
この回答へのお礼

CSVファイルの作成ができました。
ありがとうございます。
しかしそのファイルを添付ファイルで送信する方法がわかりません。
できればその部分も教えていただけたらありがたいのですが。

お礼日時:2001/12/04 15:42

メールで送信するという事でよろしいのでしょうか?


各メーラーによってやり方は違いますが、アウトルックエクスプレス(OE)でしたら、ツールバーに「新しいメール」というのがありますので、そちらを押して新しいメールを作ります。
その時にメッセージの作成というウィンドウが出てきますが、そちらのツールバーに添付というのがありますので、添付したいファイルを選べば送れるはずです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ACCESSの中でCSVの変換からメール送信までを
自動的(ボタン1つをクリックしただけで)に送りたい。

目的をもう少し細かくすればよかったのですがすみません。

お礼日時:2001/12/05 09:59

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q大量のCSVファイルをExcel形式に変換する

お世話になります。
大量のCSV(.csvファイルをExcel(.xls)ファイルに変換したい
と考えております。
リネームソフトを使って、(.csv)⇒(.xls)の一括変換を
したところ、拡張子は確かに.xlsに変換されたのですが、
中身はCSVのままとなっておりました。
(↑ファイル名とシート名が同期を取っているので)

このCSVを確実にエクセル形式へと変換したいのですが、
どなた様かいいお考えをお持ちでしたら教えてください。
ググってみたところ、そういったアドインがあるのですが、
できれば費用をかけずに行いたいです…。

Aベストアンサー

こんにちは。

すでに、マクロが1つ出ているようですが、私も作ってみました。

これは、ファイルをマルチセレクトして、そのファイル群を、Excelのマクロにより、一気に、CSV から XLS(Excel標準フォーマット)変換するマクロです。出来上がったら、Explorer 等で、確認してみてください。

>アドインがあるのですが、
私の個人的な意見ですが、この程度のものは、アドイン化すべきものではありませんから、よほど付加価値をつけないと公開用のアドインにはなりませんが、一般的にみて、アマチュアの作ったアドインは、押しなべて、あまり出来の良いものが少ないように思います。ですから、なるべく、一般のマクロで解決するように望みます。


'---------------------------------------------------

'<標準モジュール>
Sub CSV2XLS()
  'CSV を XLS に変換するマクロ
  Dim myArray() As String
  Dim FileName As Variant
  Dim fn As Variant
  Dim xlFileName As String
  Dim xlFileBaseName As String
  Dim TextLine As String
  Dim FileNo As Integer
  Dim i As Long
  Dim k As Long
  '基本となるフォルダ
  'BASE_DIR=""なら、マクロのあるブックと同じ場所のフォルダ
  Const BASE_DIR As String = ""
  If BASE_DIR <> "" Then
   ChDir BASE_DIR
   Else
   ChDir ThisWorkbook.Path
  End If
  FileName = Application.GetOpenFilename("CSV ファイル(*.csv),*.csv", MultiSelect:=True)
  If VarType(FileName) = vbBoolean Then
   Exit Sub
  End If
  Application.ScreenUpdating = False
  For Each fn In FileName
   On Error GoTo NextStatus
   With Workbooks.Open(fn)
     xlFileName = Mid$(fn, 1, InStrRev(fn, ".") - 1) & ".xls"
     Do
      k = k + 1 '同名の時枝番をつける
      If k > 3 Then Exit Do
      If Dir(xlFileName) = "" Then
        .SaveAs xlFileName
        xlFileBaseName = Mid$(xlFileName, InStrRev(xlFileName, "\") + 1)
        Workbooks(xlFileBaseName).Close False
        k = 0
        Exit Do
        Else
        xlFileName = Mid$(fn, 1, InStrRev(fn, ".") - 1) & "_" & CStr(k) & ".xls"
      End If
     Loop
   End With
NextStatus:
  Next fn
  Application.ScreenUpdating = True
  MsgBox "終了しました。",64
End Sub

'---------------------------------------------------

こんにちは。

すでに、マクロが1つ出ているようですが、私も作ってみました。

これは、ファイルをマルチセレクトして、そのファイル群を、Excelのマクロにより、一気に、CSV から XLS(Excel標準フォーマット)変換するマクロです。出来上がったら、Explorer 等で、確認してみてください。

>アドインがあるのですが、
私の個人的な意見ですが、この程度のものは、アドイン化すべきものではありませんから、よほど付加価値をつけないと公開用のアドインにはなりませんが、一般的にみて、アマチュアの...続きを読む

QACCESSのクエリーからエクセル出力

ACCESSのクエリーからエクセル出力する方法を探しています。
フォームのボタン押下⇒保存先選択画面表示⇒エクセル出力
という手順を考えていますが、
テーブルをそのまま(保存先も直書き)出力するサンプルは見つかるのですが上記のようなものは見つけられません。

どこかいいサイト、もしくはサンプルなどありませんでしょうか?

Aベストアンサー

DoCmd.OutputTo acQuery, "クエリ1", "MicrosoftExcelBiff8(*.xls)", "", False, "", 0
これでファイル保存ダイアログでると思います。

QエクセルデータからCSVファイルへの変換について

現在エクセルファイルにあるデータをCSVファイルへ変換する作業(エクセルでデータを作成して、保存時にCSVファイルを選択)をしているのですが、以下の例の場合うまく変換ができません・・・。
基本的な質問かもしれませんがどなたかご存知でしたら教えていただけると助かります。
よろしくお願いします。

【例】
        (エクセル) ⇒  (CSV)

うまくいく   12345     12345

うまくいかない 01234     1234


上記のようにエクセル上は文字列で管理されている
ケースだとCSVファイルに変換した時数列に変換
され、上記例のうまくいかないケースのように
頭に0がある場合CSVだと0が消えてしまいます。

よろしくお願いします。

Aベストアンサー

> CSVファイルに変換した時数列に変換

ちがいます。
いったんCSVで保存したものをエクセルで開いたときにそうなるのです。
CSVをエクセルでそのまま開かず、メニューの「データ」、「外部データの取り込み」、「すべてのファイル」、で取り込み、書式で文字列を選べばOKです。
あるいはCSVを拡張子を.TXTにしてテキストで取り込んでもOK

Qaccessで作成したクエリーをエクセルに出力する時の問題

アクセスで作成したクエリーをエクセルに出力します。フォームに作成したコマンドボタンを押すと、マクロが起動して、マクロで指定してあるフォルダにエクセルが出力されます。出力先にすでに同名のブックがある場合、「すでファイルが存在しています。上書きしますか。」と、いうメッセージが表示されますが、このメッセージを表示せずに無条件ですでに存在するファイルに上書きをしたいと思います。
メッセージを表示しない方法はありますか。一番いいのは,マクロ内でこのメッセージの非表示を指定できるのがいいのですが。
よろしくお願いします。

Aベストアンサー

> フォームに作成したコマンドボタンを押すと、・・・

コマンドボタンを使っているのでしたら、VBAで、直接コマンドボタンの
クリック時イベントに下記のように記述します。
(ご存知とは、思いますが、一応手順を書いておきます。)

フォームをデザインモードで開き、そのコマンドボタンをダブルクリックして、
コードを指定し、「イベント」タブで「クリック時」をポイントし、
右端の...をクリックします。
コードの一番上と下のコードが、表示されますので、その中に書き込みます。

Private Sub コマンド1_Click()
  DoCmd.SetWarnings False
  DoCmd.OutputTo acQuery, "クエリ1", "MicrosoftExcel(*.xls)", _
    "c:\test\クエりー1.xls", False, ""
  DoCmd.SetWarnings True
End Sub

たぶん、これでメッセージは、出ないと思います。

あとは、マクロの場合ですと、クエリーをテーブルに書き出して、
アクションに「ワークシート変換」で「エクスポート」する方法でしょうね。
メッセージは、出なくて、結果は、同じです。 

> フォームに作成したコマンドボタンを押すと、・・・

コマンドボタンを使っているのでしたら、VBAで、直接コマンドボタンの
クリック時イベントに下記のように記述します。
(ご存知とは、思いますが、一応手順を書いておきます。)

フォームをデザインモードで開き、そのコマンドボタンをダブルクリックして、
コードを指定し、「イベント」タブで「クリック時」をポイントし、
右端の...をクリックします。
コードの一番上と下のコードが、表示されますので、その中に書き込みます。

Private ...続きを読む

QCSVファイルをEXCELに変換の自動化作業

CSVファイルをEXCELに変換の自動化作業
{CSVファイルをEXCELに変換するため、
excel  ツールバーよりデータ(D)→外部データの取り込み(D)→テキストファイルのインポート→ファイルの種類変更→全てのファイル→○○.csvのファイル指定→“,”の区切り選択、、ウィザードに従って変更し次へで進む→A1が指定されるのでそのまま完了→CSVがEXCELファイルに変換された。
参照したabc1.csvの名前に対して新しいabc1.xlsとなずけて登録する。これらの作業をMYドキュメントのhenkan ホルダーに入っているCSVファイルに同様に作業して同じくhenkan ホルダーに入れる。}
上記の{ }内の作業を何か,excelのVBAのマクロのようなもので実行することはできませんか。
やり方を教えてください。

Aベストアンサー

もともと、CSVとはカンマ区切りのはずですから、そうではないということなら、このコードは、違っています。こういう質問系掲示板は、質問者が分らない部分をお助けするような形で出来上がるものだと思いますので、回答者の回答を最初から否定するような発言は控えていだきたいと思いました。なお、フォルダーの中を一気に変換してしまうようなコードは、必ず変換後の様子を確認してからでなくてはなりませんので、それを確認していただくつもりでした。

私自身は、ここのカテゴリで、私は、一ゲンではありませんので、後々のためにコードを掲示しておきます。以下は、私が考えていたコードであって、その処理後の状態を保証するものではありません。

'<標準モジュール推奨>
Sub DirectryCSV2XLS()
  Dim myCSVFnames() As String
  Dim myCSVFname As String
  Dim xlFileName As String
  Dim i As Long
  Dim j As Long
  Dim n As Variant
  Dim msg As String
'=====================================
  '以下 フォルダー要設定
  Const MY_FOLDER As String = ""C:\Documents and Settings\<User>\My Documents\"
'=====================================
  If Left$(MY_FOLDER, 1) <> "\" Then MsgBox "フォルダーの設定の最後は、「\」が必要です。": Exit Sub
  If Dir(MY_FOLDER, vbDirectory) = "" Then _
   MsgBox "そのフォルダーは存在しません。", vbCritical: Exit Sub
 
  myCSVFname = Dir(MY_FOLDER & "*.csv")
  Do While myCSVFname <> ""
   ReDim Preserve myCSVFnames(i)
   myCSVFnames(i) = myCSVFname
   i = i + 1
   myCSVFname = Dir()
  Loop
  If i = 0 Then MsgBox MY_FOLDER & " には、CSVファイルが存在しません。", vbCritical: Exit Sub
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  For Each n In myCSVFnames
   xlFileName = Mid$(n, 1, InStrRev(n, ".csv")) & ".xls"
   If Dir(MY_FOLDER & "\" & xlFileName) = "" Then
     With Workbooks.Open(MY_FOLDER & "\" & n, Format:=2)
      .SaveAs MY_FOLDER & xlFileName
      Workbooks(xlFileName).Close False
      j = j + 1
     End With
   End If
  Next n
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  If i <> j Then msg = "既に" & CStr(i - j) & "個のCSV ファイルは、XLSに変換されています。"
  MsgBox i & "個のCSVの内、" & j & "個のファイルをXLSに変換しました。" & vbCrLf & msg
End Sub

もともと、CSVとはカンマ区切りのはずですから、そうではないということなら、このコードは、違っています。こういう質問系掲示板は、質問者が分らない部分をお助けするような形で出来上がるものだと思いますので、回答者の回答を最初から否定するような発言は控えていだきたいと思いました。なお、フォルダーの中を一気に変換してしまうようなコードは、必ず変換後の様子を確認してからでなくてはなりませんので、それを確認していただくつもりでした。

私自身は、ここのカテゴリで、私は、一ゲンではありませ...続きを読む

Qグループ単位にCSVファイル形式で出力する方法について

次のテーブルがあります。

組店コード  金額
 A     100
 A     150
 A     300
 B     250
 B     100
 C      50
 C     150
 C     400

これを、次のように組店コード単位でCSVファイル形式で出力(ファイル名は組店コード)したいです。

【イメージ】
  Aファイル
  Bファイル
  Cファイル

ACCESS VBAの勉強不足の私ですが、どうか、お力を貸してください。<m(__)m>
もし、説明に不足がありましたら、ぜひ、お申し付けください。

Aベストアンサー

フォームの出力ボタンで組合コード別のCSVを出力と言う事で有れば、
エキスポートを一つのファイル単位に出す事になります。

方法としては、
① 最初に組合コードをグループ化してテーブルに保存する
② 組合コードの数を①のテーブルから集計クエリで求める
③ エキスポートの処理ではクエリーからの処理は面倒臭い
④ 組合コード別のテーブルを作成する(テーブル作成クエリ)
⑤ エキスポートをするためのパラメータテーブルを作る
⑥ パラメータのテーブルはテーブル名とファイル名を用意する
⑦ ⑤のテーブルを読んで、EOFになる迄エキスポートする

⑦の実際のエキスポートの処理は下記。
① テーブル名を読む
② その名前でテーブル作成クエリで出力先のテーブルを作る
③ ファイル名を読む。
④ テーブル名とファイル名をエキスポートのパラメータに組み込む
⑤ エキスポートを実行する

⑤のパラメータを作る所は、データに依り変化するので規則性をもって
プログラム化をする必要が有ります。この部分は後にして最初はテスト
データとしてデータをテスト的に使って全体が動く事を確認してから。

パラメータのテーブルを作る所は、プログラム化をした方が良いと思いま
す。然し、多分に得意先別のデータの配布などに使うとは思いますが。

私ならば、メールを使ってファイルは特別には用意はしませんが。無駄
なリソースは余り作る物では有リません。

フォームの出力ボタンで組合コード別のCSVを出力と言う事で有れば、
エキスポートを一つのファイル単位に出す事になります。

方法としては、
① 最初に組合コードをグループ化してテーブルに保存する
② 組合コードの数を①のテーブルから集計クエリで求める
③ エキスポートの処理ではクエリーからの処理は面倒臭い
④ 組合コード別のテーブルを作成する(テーブル作成クエリ)
⑤ エキスポートをするためのパラメータテーブルを作る
⑥ パラメータのテーブルはテーブル名とファイル名を用意する
⑦ ⑤のテーブルを...続きを読む

QCSVをExcelに変換したい

お世話になります。

CSVファイルをExcelファイルに変換する場合、CSVファイルをExcelで開いて拡張子を「xls」もしくは「xlsx」を指定して保存すればよいかと思いますが、PCにExcelがインストールされてない環境の場合、Excelに変換することは不可能でしょうか。

今回、Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。

なので、インポートする前準備としていったんExcelに変換したいと考えているのですが。。そのPCにExcelがインストールされてないと、やはり変換することは出来ないでしょうか。

もしくは、カンマ区切りのCSVファイルをタブ区切りに変換したりすることは出来ますでしょうか。

ご教授の程、宜しくお願い致します。

Aベストアンサー

>Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。

毎回同じCSVのフォーマットだったら
(項目数やデータ型など)
一度インポートウィザードで進めて行って
設定ボタンから定義を保存し
次回からはその定義名を使用してインポートしては?
VBAならDocmd.transferText のヘルプにあるSpecificationNameに定義名を入れます。
・・・じゃダメかいな?

>インポートする前準備としていったんExcelに変換したい
CSVファイルを直接開くとExcelのお節介機能で
電話番号などの前ゼロがなくなったり、ハイフン付きのデータが日付と解釈されたり・・・
ということががあるので、拡張子CSVをTxtに変えてから
Excelで開こうとするとウィザードが立ち上がって・・・と出来ますが
結局のところ二度手間です。

ご参考まで。

Qアクセスから自動で(マクロ化)csv形式で出力したいです。

こんにちは。いまアクセスのプログラムで困っています。
もし、お分かりでしたらお返事願います。

ymd = Format(Now(), "yyyymmdd")

DoCmd.OutputTo acTable, "テーブル名", acFormatXLS, "D:\XXXX" & "XYXY" & ymd & ".csv", True, ""


これでやると、うわべだけのCSV形式で実は.XLSになっていたということらしいのですが、こういう形でCSV形式で出力する方法は無いでしょうか?

Aベストアンサー

まず先に「エクスポート」メニューにてカンマ区切り出力のエクスポート定義を作っておきます。

エクスポート定義の作り方は以下です。

・データベースウィンドウにて出力したいテーブルの名前を選択し青色反転表示させる
・ファイル、エクスポートとクリック。ダイアログが出ます。
・とりあえず場所を指定して、ファイルの種類を「テキストファイル」に変えて、「保存」ボタンを押す。ウィザードが起動します。
・左下の「設定」ボタンを押し、カンマ区切り設定などを施す。
・閉じないで「保存」ボタンを押す。ダイアログが出てエクスポート定義名を入力するように促されます。
・デフォルトでの名前をAccessが勝手に作ってくれるので、もしそのままでよければOKを押す。ここでの名前を以降のVBAコード内で使用します。ただし、Accessはテーブル名+テーブル定義という名前に自動設定してくれる、テーブル名と「テーブル定義」という文字列の間に半角スペースが入っているので、注意。VBAコード内でこの半角スペースを忘れると動作しなくなってしまう。
うっとおしかったらこの段階で半角スペースを削除しておく。
・名前が決まったらOK
・ok
・ウィザードをキャンセルする。



で、コマンドボタンのクリックイベントなどに以下のように書くと、カンマ区切りのテキストファイルが出力されます。
ご質問でご提示いただいたコードのように拡張子をcsvにするコードを書けば、csvになります。


DoCmd.TransferText acExportDelim, "エクスポート定義の名前(半角スペースなどに注意)", "出力したいテーブルの名前", "出力したい場所のフルパス(ファイル名とその拡張子も含む)", -1

まず先に「エクスポート」メニューにてカンマ区切り出力のエクスポート定義を作っておきます。

エクスポート定義の作り方は以下です。

・データベースウィンドウにて出力したいテーブルの名前を選択し青色反転表示させる
・ファイル、エクスポートとクリック。ダイアログが出ます。
・とりあえず場所を指定して、ファイルの種類を「テキストファイル」に変えて、「保存」ボタンを押す。ウィザードが起動します。
・左下の「設定」ボタンを押し、カンマ区切り設定などを施す。
・閉じないで「保存」ボタ...続きを読む

QCSV形式に変換

プログラミング(C言語)で、ファイルの内容をCSV形式に変換し、指定した出力ファイルに出力するプログラムを作成せよ。という課題がありましたが、
ファイルの内容をCSV形式に変換
がわかりません。どのようなプログラムをかいたらよいのでしょうか?

Aベストアンサー

#5です。
よく見たらフィールド内での入れ替えが居るようなので、
#5で書いたやり方ではできませんね。。。
#参考だしいいのかな。。。

読み込みを一行ずつにして、
中を入れ替えて・・・
という作業が必要になります。

QAccess2000形式からAccess2007形式への変更について

Access2000形式からAccess2007形式への変更について

Access2000で作ったmdbをAccess2007形式に変更しようと考えています。
このMDBをAccess2007形式で保存するのと、Access2007の空のMDBを作ってここにデータをすべてインポートするのとの違いは何でしょうか?

通常はどちらで行うのでしょうか?

以上、よろしくお願いいたします。

Aベストアンサー

> 通常はどちらで行うのでしょうか?

必要なものが「テーブルに格納したレコード(=データ)」だけでしたら、
どちらでも大差はないかと思います。

ただ、「通常」は『フォーム』や『マクロ』『モジュール』なども含めた
データベースシステム一式を引き継ぐはずですので、その場合は
Access2007形式での保存(データベースの変換)を行う、というのが
一般的かと思います。

理由としては、「インポート」の対象は『テーブル』『クエリ』『フォーム』
といった『オブジェクト』(AccessObject)に限られるのに対して、
「データベースの変換」の場合は、Access2000時に行った『起動時の
設定』や『オプション』(DAO.DatabaseのPropertyオブジェクト)も含めて
引き継がれること、が挙げられるかと思います。

例えば、mdbファイルの展開時に自動でフォームを開かせる方法には
「autoexecマクロの使用」と「起動時の設定」の2通りがありますが、
後者で対応していた場合、インポートしただけではフォームが自動で
開かなくなります(→再度『起動時の設定』でフォームを指定する必要
が生じる、と)。
(データベースの変換なら、どちらの方法でフォームを開いていたと
 しても、追加の作業は発生しません)

※VBAやマクロの互換性の問題による改修が必要になる可能性は、
  どちらの方法を採ったとしても、同様にあります。
  (そして、ここの負荷が大抵かなり重いのですが・・・(汗))

> 通常はどちらで行うのでしょうか?

必要なものが「テーブルに格納したレコード(=データ)」だけでしたら、
どちらでも大差はないかと思います。

ただ、「通常」は『フォーム』や『マクロ』『モジュール』なども含めた
データベースシステム一式を引き継ぐはずですので、その場合は
Access2007形式での保存(データベースの変換)を行う、というのが
一般的かと思います。

理由としては、「インポート」の対象は『テーブル』『クエリ』『フォーム』
といった『オブジェクト』(AccessObject)に限られるのに対して...続きを読む


人気Q&Aランキング