• ベストアンサー

access2016 ダブルクォーテーションなし

access2016でTransferTextを使ってCSV出力を行いたいのですが、データがダブルクォーテーションで囲まれた状態で出力されます。 以前のaccessではエクスポート定義で囲み文字をなしにすれば良いと確認しましたが、access2016ではどのように行えばいいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

「access2016でTransferTextを使ってCSV出力を行うとき、データがダブルクォーテーションで囲まれた状態で出力される、」とのことだが、データがダブルクォーテーションなしに出力されるための(操作の)設定などは、小生には浅学でわからない。ただし、念のため、最後の方の文章も参照ください。 ーー それを詮索するよりも、下記で変換してしまえばよい、と思うが。 実質処理はReplaceの1行だけ。 Sub getCSV() Dim strPath As String, datFile As String strPath = "C:\Users\XX\XXX\Documents\CSVテスト例.txt" datFile = "C:\Users\XX\XXX\\Documents\CSVテスト例2.csv" Dim strLine As String Dim arrLine As Variant 'カンマでsplitして格納 '--- Open strPath For Input As #1 'csvファイルをオープン Open datFile For Output As #2 '--- Do Until EOF(1) Line Input #1, strLine arrLine = Replace(strLine, """", "") Print #2, arrLine Loop '--- Close #1 Close #2 End Sub ーー その後に、下記などを見ると https://www.feedsoft.net/access/tips/tips93.html DoCmd.TransferText acExportDelimのacExportDelim で数値(フィールド)はダブルクオートなし、文字列はダブルクオート囲いになりませんか。 ーーー 2003の記事ですが https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14135671164 >各項目を区切っている、ダブルコーテーションを除き・・ 「ベストアンサーに選ばれた回答」 のことが、2016ではできませんか? >これを実行すれば、文字列の引用符が無いデータが出力されます とありますが、2016ではどうかな。

4ghqn4t1
質問者

お礼

ご回答いただきありがとうございます。 リプレイスでダブルクォーテーション消せました。2003の方法では無理でした。

関連するQ&A