プロが教える店舗&オフィスのセキュリティ対策術

ACCESS2010 を使用しています。

先日、標題「ACCESS 同じ種類のレコードを1行に纏め、CSVファイルで出力したい」にて
CSVファイルの書出し方法を下記のとおり教えて頂きました。
ファイルの出力先を、ダイアログで指定できるようにしたいのですが、どのように
直せばよろしいでしょうか。javascript:void 0;

Private Sub コマンド0_Click()
Dim i As Integer
Dim strSQL As String
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim OutData As String
Dim kind As String

strSQL = "SELECT * from M159 ORDER BY 組店コード,行番号"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strSQL, dbOpenForwardOnly)

kind = ""
OutData = ""

Open "C:\Users\yukie\Desktop\test.csv" For Output As #1 ' 出力モードで開きます。

With rst
Do While Not .EOF ' レコードが無くなるまで繰り返します。
If !組店コード <> kind Then
If OutData <> "" Then
Print #1, Mid(OutData, 2)
End If
kind = !組店コード
OutData = ""
End If
For i = 0 To .Fields.Count - 1
OutData = OutData & "," & .Fields(i)
Next
.MoveNext
Loop
If OutData <> "" Then
Print #1, Mid(OutData, 2)
End If
End With
Close #1 '

A 回答 (4件)

私の環境(windows10, office2007pro)では、


Application.FileDialog(msoFileDialogFolderPicker)
を改行した段階で、
The library which contains this symbol is not referenced by the current...
というmsgboxが出てきて、「はい」をクリックすると、
microsoft office 12.0 object libraryの参照設定にチェックが入ります。

ので、VBAエディターの「ツール」「参照設定」で
microsoft office 12.0 object library
にチェックを入れて、OKを押すと動くようになるのではないかと思います。
    • good
    • 0
この回答へのお礼

ShowMeHow さん。
できました。
親切丁寧にありがとうございました。
とても助かりました。

お礼日時:2016/07/15 08:54

すみません。

 ¥マークが一つ抜けているようです。

Open strPath &”\test.csv" For Output As #1

としてください。
    • good
    • 0
この回答へのお礼

デバックボタンを押下したら、

With Application.FileDialog(msoFileDialogFolderPicker)

のところが黄色なっていました。

お礼日時:2016/07/14 16:40

えーと、、、


例えば、そのまま使うとすると、、、
①冒頭の宣誓一覧に
dim strPath as string
を加えておいて、

②OutData = "" の後に付け加えて、

With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
strpath= .SelectedItems(1)
else
strpath = ""   '本来は、ここでキャンセル処理をするべき
End If
End With
としておき、

③オープンステートメントを以下のように変更する
Open strPath &”test.csv" For Output As #1


となんとなくできるような予感がしますが、、、
試していないので、断言はできませんので動かなかったらあしからず、同サイトで紹介されているAPI等他の方法を利用しないとダメかもしれません。
    • good
    • 0
この回答へのお礼

ShowMeHowさん。親切丁寧にありがとうございます。
早速、やってみましたが、以下のエラーが表示されてしまいました。

「'fileDialog' メソッドは失敗しました '_Applcation'オブジェクト」
 
前提条件みたいなものはありますか。

お礼日時:2016/07/14 16:36

Open "C:\Users\yukie\Desktop\test.csv" For Output As #1 ' 出力モードで開きます。


ここのフルパスのファイル名をfiledialog objectを使って、パスを選択させるのがらくかな。
http://officetanaka.net/excel/vba/tips/tips39.htm
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
教えて頂いたURLを拝見しましたが、勉強不足のため、理解できませんでした。
もう少し、勉強します。

お礼日時:2016/07/13 15:58

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

関連するカテゴリからQ&Aを探す