2016-03-21 21 views
3

私はAccessから1日に複数回CSVファイルとしてデータをエクスポートする必要があります。私の前に仕事をしていた人が、このボタンをクリックしてデータをエクスポートするこのVBAコードを作成しました。ただし、BOMを使用しないでUTF-8としてエクスポートするように変更する必要があります。これにより、インポートするソフトウェアに国際文字が表示されるようになります。CSVファイルをUTF-8としてエクスポートするVBAにアクセス

私は手動でテキストとしてエクスポートし、CSVとして保存することができます。私はCode Page: Unicode (UTF-8)を選択し、これは完全に動作します。しかし、私は、私はVBAコードを変更したい、前に言ったように:あなたは以前と同様に

Private Sub Command6_Click() 
Dim sExportPath As String 
Dim qry As DAO.QueryDef 


With Me.List0 
    For i = 0 To .ListCount - 1 
     If .Selected(i) Then 
      sExportPath = Application.CurrentProject.Path & "\final_" & Left(Me.List0.Column(0, i), InStr(Me.List0.Column(0, i), " ") - 1) & ".csv" 
      If QueryExists("Final") Then CurrentDb.QueryDefs.Delete "Final" 


      Set qry = CurrentDb.CreateQueryDef("Final", "Select Salutation,Email from " & Left(Me.List0.Column(0, i), InStr(Me.List0.Column(0, i), " ") - 1)) 
      CurrentDb.QueryDefs.Refresh 
      DoCmd.TransferText acExportDelim, , "Final", sExportPath, True 

     End If 
    Next i 
End With 
End Sub 

答えて

1

する「...アドバンス」を手動でエクスポートを実行し、選択します。 "コードページ"と他の設定を選択したら、 "名前を付けて保存..."ボタンをクリックして、エクスポート仕様を保存します。その後、例えば、

DoCmd.TransferText acExportDelim, "MyExportSpecification", "Final", sExportPath, True 
+0

私はこのエラーを受け取りました:[リンク](https://msdn.microsoft.com/en-us/library/office/jj681075(v = office.15).aspx) – z0nia

+0

エクスポートしようとするとテーブルZResults1には、 "オブジェクト 'final_ZResults1.csv'が見つかりませんでした。オブジェクトが存在し、名前とパス名のスペルが正しいことを確認してください。" – z0nia

+0

コードを再確認してください。 'acExportDelim'でそのエラーを受け取るべきではありません。 (インポートしようとしていたファイルが存在しない場合は、エラーが意味する 'acImportDelim'に対して) –

2

がある、コードページパラメータ(に、TransferTextメソッドの最後の1)として値65001を使用し、TransferText方法に2つ目の引数として保存された仕様の名前を供給することができます(Unicodeを表し、 UTF-8)。

関連する問題