アクセス2007VBAのクエリのエキスポートの問題

このQ&Aのポイント
  • アクセス2007のクエリをエクセルにエクスポートするVBAの作成時に、動作しない問題が発生しています。
  • 構文に間違いがある可能性があります。
  • 正しい構文を確認する必要があります。
回答を見る
  • ベストアンサー

アクセス2007VBAのクエリのエキスポート

お世話になります。 以下の様にアクセス2007のクエリを エクセルにエクスポートのVBAを作成したところ うまく動作しません。 どこか構文が間違ってるのでしょうか? Private Sub トグル2_Click() Dim acc1 As String Dim exce1 As Variant acc1 = "q_有給付与後" ecxe1 = "G:\MOCF05602\大信\エクスポートテスト.xlsx" DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel12Xml, acc1, exce1, True MsgBox "エクスポート完了★" End Sub

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

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは Option Explicit 宣言してないのですか? ecxe1 = "G:\MOCF05602\大信\エクスポートテスト.xlsx" は exce1 = "G:\MOCF05602\大信\エクスポートテスト.xlsx" ですよね?

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

こんにちは DoCmd.TransferSpreadsheet acExport, _ 上記の ,と_の間あの空白が全角ではありませんか

関連するQ&A

  • アクセス(access)からエクセルにエクスポート

    アクセスから、エクセルにクエリのデータを出力する際に、 「TransferSpreadsheet」を使用していますが、 そのエラー処理について、教えて下さい。 保存しようとしているファイルが既に開かれている場合に、 処理を中止し、エラーメッセージを出したいのですが、 どのようにすればいいのでしょうか? なお、現在のVBAは次のとおりです。 Private Sub コマンド01_Click() Dim a As String Dim b As Variant a = "Q_一覧表" b = "C:\一覧表.xls" DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel9, a, b, True MsgBox "データを出力しました。" Exit Sub End Sub

  • アクセス2000→エクセル2010へエクスポート

    Private Sub cmd出力ボタン_Click() DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, "" DoCmd.SetWarnings True End Sub 実行すると 外部テーブルのフォーマットが正しくありません と出てしまいます。 エクセル97の形式にエクスポートする際は大丈夫でした。 spreadsheettypeの引数が違うのかとは思いますが適切な数値がわかりません。 他のやり方等もあれば教えて下さい。

  • アクセス2007 エクセルへエクスポートするファイル名に日付を付けたい

    こんにちは。 アクセス2007を使用しています。 テーブルをエクセルにエクスポートし、 さらにそのファイル名に日付をつけたいのですが なかなかうまくいきません。 以下のように記述しました。 Private Sub コマンドボタン_Click() 'Excelファイルへエクスポート DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "テーブル名", "転送先フォルダパス" & Format(Now(), "yyyymmdd") & ".xls" End Sub Format関数を入れないとうまく行くので その部分が間違っているのだろうと思うのですが どうしていいのかわかりません。 どなたか原因をご教授いただけると助かります。 よろしくお願いいたします。

  • Access2000 Export時にシート名を指定したい。

    お世話になります。 Access2000です。 アクセスよりテーブルAをエクセルにエクスポートする時にシート名を指定したいのですがどうすればよいのですか? DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "テーブルA", "E:\", True となっていますが・・・・ よろしくお願いします。

  • ACCESS エクスポート ダイアログ ファイル名取得

    ACCESS2003で作成したデータをダイアログで指定したファイル名でエクスポートしたいのですが、上手くできません。 ダイアログが開きその指定したフォルダーにあるエクセルファイルを選択すれば、正常にエキスポートできるのですが、 開いたダイアログにファイル名を入力すると、それ以降動かなくなります。 基本的なことが間違っているのでしょうか?? 詳しい方教えてください。下記にコードした内容を書きました。 よろしくお願いします。 Private Sub cmbTransExcel_Click() On Error GoTo Err_cmbTransExcel_Click Dim fileSaveName As Variant Set dlg = Application.FileDialog(msoFileDialogOpen) With dlg .Title = "チェック" .ButtonName = "エキスポート" .InitialFileName = "C:\Program Files\DATA\" .InitialView = msoFileDialogViewList .AllowMultiSelect = False .Filters.Clear .Filters.Add "xls", "*.xls" End With With dlg If .Show = -1 Then For Each vntPath In dlg.SelectedItems strPath = vntPath Next Else Set dlg = Nothing Exit Sub End If End With Set dlg = Nothing Dim strac As String Dim varxls As Variant Dim strmsg As String strac = "Q_チェック" 'Accessファイルを指定します。 varxls = strPath 'エクセルファイルを指定します。 strmsg = strac & " を、Excelファイルへ出力します。" & Chr(13) & _ "出力先は" & varxls & "、 シート名は" & strac & "です。" & _ Chr(13) & "よろしければ、OKをクリックして下さい。" If MsgBox(strmsg, vbOKCancel) = vbOK Then '最初のデータをフィールド名として使います。 DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel9, strac, varxls, True MsgBox "EXCELの出力が正常終了しました。", vbInformation, "処理終了" End If Exit_cmbTransExcel_click: Exit Sub Err_cmbTransExcel_Click: MsgBox "EXCELの出力が異常終了しました。", vbCritical, "エラー!" Resume Exit_cmbTransExcel_click End Sub

  • EXCELファイルからACCESSへインポート

    質問させていただきます。 ACCESSのフォームから、EXCELファイルを選択してEXCELの内容を、 テーブルにインポートさせたいのですが。以下の方法で行って いるのですが、テーブルに反映されません。 Private Sub cmd_Import_Click() Dim InitialFileName As String Dim varTitle As Variant Dim FileName As String InitialFileName = "hoge.xls" varTitle = "ファイルを開く" FileName = GETHOGEOPEN(varTitle, InitialFileName) DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "T_HOGE", FileName, True DoCmd.SetWarnings True MsgBox "完了しました" End Sub ACCESS → ACCESS2003 SP3 EXCEL →EXCEL2003 SP3 よく見ると、すでにEXCELのバージョン指定が違う(汗) これが原因かも・・・・(汗) わかる方がいらっしゃったら教えてください。

  • VBAのキャンセル処理

    下記のVBAでファイルを出力することはできるようになったのですが、 出力するときに[キャンセル]を押しても"MsgBox :Excelファイルへの出力が完了しました。"が表示されてしまいます。 「キャンセル」した場合は、このメッセージが表示されないようにできないでしょうか? Private Sub Image_Export_Click() On Error GoTo Err_FileDialog_Click 'ファイル出力 Dim strFileName As String Dim ExpFileName As String ExpFileName = "T_master_" & Format(Now(), "yyyymmdd") strFileName = GetFileName(False, "MicrosoftExcel ブック (*.xls)|*.xls", "", ExpFileName & ".xls") If Len(strFileName) = 0 Then 'キャンセルボタンが押されたときの処理を記述 MsgBox "キャンセルが押されました。" Else DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "T_master", strFileName & ".xls", True End If MsgBox "Excelファイルへの出力が完了しました。", , "出力完了" Exit_FileDialog_Click: Exit Sub Err_FileDialog_Click: MsgBox "予期せぬエラーが発生しました" & Chr(13) & _ "エラーナンバー:" & Err.Number & Chr(13) & _ "エラー内容:" & Err.Description, vbOKOnly End Resume Exit_FileDialog_Click End Sub

  • ACCESS エクセル取込 列指定

    下記のコードでエクセル取込を行おうと思いましたが、列指定をする"A:M, O:V"の箇所でエラーとなってしまいました。A:M列だけならエラーもなく取り込めますが、O:V列も取り込みたいです。 N列を取り込みたくない理由としては、文字と数字が混在していて、省きたいと思っております。 何か良い方法はございませんでしょうか? DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "T_SAPShohin", Path, True, "A:M, O:V" ←エラー ____________________________________________________________________ Private Sub SAPShohin_Click() Dim Path As String Dim Res As String WizHook.Key = 51488399 Res = WizHook.GetFileName(0, "", "", "", Path, "CurrentProject.Path", "(*.xlsx,*.xls)", 0, 0, 4, -1) If Res = 0 Then '取得したファイルパス(Path)でExcelからインポート DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "T_SAPShohin", Path, True, "A:M, O:V" Else '[キャンセル]ボタンが押された場合の処理 MsgBox "[キャンセル]ボタンが押されました。" Exit Sub End If MsgBox "インポートできました!"

  • Access2010クエリーのExcel出力書式

    Access2010で作成したクエリーをそのままの書式でEXCELに出力するVBAを組みたいと思っています。VBAは下記のとおり書いてみましたが、クエリーで表示される書式(ある列はカンマ、ある列は日付形式など)をそのまま移すことができません。このVBAをどのように変更したら、クエリーそのままの書式で出力できますでしょうか? '''''QUERYを指定 Dim varQE1 As Variant varQE1 = "QE1_List" 'QUERY名 '''''日付つきファイル名を指定 Dim varExcelPass As Variant varExcelPass = "C:\List_" & Format(Now(), "yyyymmdd") & ".xls" '''''ファイル変換出力 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, varQE1, varExcelPass, True

  • ACCESS クエリ→フォーム フィルターをかけたデータのみエクスポートしたい

    よろしくお願いします。 クエリのデータをフォームで表示し、その時にコンボボックスで表示するデータを指定し抽出・表示しています。([授業名]フィールドのコンボボックスで、指定した授業のみ抽出します) 最終的に抽出したデータを、コマンドボタンでエクスポートできるようにしたいのですが、私の記述方法では「全てのクエリのデータ」がエクスポートされてしまいます。 どのような方法でもいいのですが、指定したデータ([授業名])のみエクスポートする方法はないでしょうか・・・? *データエクスポートのVBA記述内容* Private Sub cmdデータ出力_Click() '名簿データのエクスポート Dim msg As String msg = MsgBox("名簿データを出力します。", vbYesNo, "出力確認") If msg = vbYes Then 'どの場所にデータをエクスポートするか指定 DoCmd.TransferSpreadsheet acExport, , "Q_受講者名簿用", _ "Y:\○○課\住所録データエクスポート場所\" & "受講者名簿【ACCESSより】.xls", True answer = MsgBox("受講者名簿データを出力しました", vbOKOnly, "データの出力の確認") cancel = True End If End Sub *ちなみに、フォーム上でフィルターをかけたVBAは* Private Sub cmd名簿_Click() Dim stList As String Dim stFil As String If combo1 <> "" Then stFil = "[授業名]='" & combo1 & "'" End If Me.Filter = stFil Me.FilterOn = True End Sub

専門家に質問してみよう