Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
テンプレートへの出力先が指定できない
投稿日時: 20/04/28 21:31:18
投稿者: aomi

アクセスのクエリをテンプレートに保存しようとして、下記のコードを作りました。
保存まではできたのですが、ダイアログ表示を表示させ、例えばデスクトップに保存したとしても
なぜかドキュメントフォルダーに保存されてしまいます。
どこが悪いのでしょうか??
 
ご教授お願いいたします。
 
 
Private Sub コマンド25_Click()
     
    On Error GoTo Err_Exit
 
    Dim strsql As String
    Dim strTemplate As String
    Dim strFileName As String
    Dim ExpFileName As String
    Dim xlapp As Object
    Dim myCn As New ADODB.Connection
    Dim myRs As New ADODB.Recordset
 
    'ファイル名作成
    ExpFileName = "VA01_KE_OCR_Shortterm" & "_" & Format(Date, "yyyymmdd")
    strFileName = GetFileName(False, "MicrosoftExcel ブック (*.xlsx)|*.xlsx", "", ExpFileName & ".xlsx")
     
    'EXCELアプリケーションを起動
    Set xlapp = CreateObject("Excel.Application")
     
    'セットする過程が見えないよう一旦不可視
    xlapp.Visible = False
     
    Set myCn = CurrentProject.Connection
     
    strsql = "Q_Shortterm2Expo"
     
    'レコードセットオープン
    myRs.Open strsql, myCn, adOpenForwardOnly, adLockReadOnly
     
    With xlapp
        'テンプレートを開く
        strTemplate = Application.CurrentProject.Path & "\" & "VA01_KE_OCR_Shortterm.xlsx"
         
        'テンプレートファイルが存在しないときはエラー
        If Dir(strTemplate) = "" Then
            MsgBox "テンプレートファイルを確認してください。", vbOKOnly + vbCritical, "エラー"
            .Visible = True
            .Quit
            Exit Sub
        End If
         
        'テンプレートファイルオープン
        .Workbooks.Open strTemplate
     
        '結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット
        .Cells(2, 1).CopyFromRecordset myRs
         
        '完了したら保存
        .ActiveWorkBook.SaveAs FileName:=ExpFileName
         
        MsgBox "出力しました。", vbOKOnly + vbInformation
    End With
     
    Set myRs = Nothing: Close
    Set myCn = Nothing: Close
    'Excelを終了します
    xlapp.Quit
    Exit Sub
     
Err_Exit:
    MsgBox Err.Number & ":" & Err.Description, vbOKOnly + vbCritical, "OutputExcel()"
    Set myRs = Nothing: Close
    Set myCn = Nothing: Close
    xlapp.Quit
 
 
End Sub

回答
投稿日時: 20/04/29 05:45:15
投稿者: Moko

> .ActiveWorkBook.SaveAs FileName:=ExpFileName
 

 
  .ActiveWorkBook.SaveAs FileName:=strFileName
 
じゃないでしょうか?

投稿日時: 20/04/29 09:58:30
投稿者: aomi

Mokoさん
 
ありがとうございます!
修正したら、想像通りの動作になりました。