0

MSAccess には、ボタン付きのマスクがあります。ユーザーがボタンをクリックすると、テーブル内のデータが .txt ファイルにエクスポートされます。

Private Sub Command_Click()
Dim Rst As DAO.Recordset
Dim AField As DAO.Field
Dim TempStr As String
Dim FileNumber
FileNumber = FreeFile
Open "c:\table.txt" For Output As #FileNumber
Set Rst = CurrentDb.OpenRecordset("Tabella1", dbOpenForwardOnly)
Do While Not Rst.EOF
    For Each AField In Rst.Fields
        If (AField.Name <> "ID") Then
            TempStr = TempStr & AField.value & "    "
        End If
    Next
    Print #FileNumber, Left(TempStr, Len(TempStr) - 1)
    TempStr = ""
    Rst.MoveNext
Loop
Rst.Close
Set Rst = Nothing
Close #FileNumber
End Sub

それは機能しますが、ユーザーがデータをエクスポートするファイルを選択できるようにすることで、「名前を付けて保存...」ダイアログボックスを表示します。

出来ますか?

4

2 に答える 2

6

Microsoft Office xx オブジェクト ライブラリへの参照を設定し、FileDialog を使用できます。

FileDialog プロパティ

Sub ShowFileDialog()
    Dim dlgOpen As FileDialog
    Set dlgOpen = Application.FileDialog(msoFileDialogSaveAs)
    With dlgOpen
        .InitialFileName = "Z:\docs\"
        .Show
    End With
End Sub

また、VBA (MS Access 2007 用) のファイル ダイアログ オブジェクトから単一のファイル名を取得するにはどうすればよいですか?

于 2012-07-31T15:18:51.940 に答える
1

API ソリューションについては、http: //access.mvps.org/access/api/api0001.htmを参照してください。

私にとってはうまくいきます。コピーして新しいモジュールに貼り付けるだけです。

于 2012-08-02T19:12:07.813 に答える