- 締切済み
AccessからExcelのファイルを作るVBAを書いているのですが・・・
AccessのテーブルをExcelのファイルにして特定のフォルダに保存するVBAを作成中です。 訳あって、テーブルからそのままExcelにできず(transferのコマンドが使えないのです)、並び替えや抽出などをかけて、一旦フォームにしてから、Excelのファイルにします。その際に、Outputtoというコマンドを使用しています。 そのテーブルに日付型のデータがあり、そのコマンドで作ったExcelのファイルでは、日付が「yyyy/mm/dd」で表示できず、21-feb-01のような形になってしまいます。どうやらファイルの形式が古いせいのように思うのですが、Outputtoのコマンドではファイル形式まで指定できないみたいで・・・ いい方法があったら教えていただきたのです。 よろしくお願いします!m(__)m
- yasuoshi
- お礼率48% (16/33)
- オフィス系ソフト
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
みんなの回答
並び替えや抽出だったらクエリーにしてTransferするのはダメですか? これでも日付の問題は解決できないかもしれませんが、自分の場合、Excelに出力する際は、GetObjectまたCreateObjectを使用しています。 Transferよりかなり時間がかかるので大量のデータを出力するには向いていませんが、Excel内の書式設定も全てAccess側で処理できます。 Outputで出力した後、GetObjectでそのExcelファイルを開いて、該当する列の書式をyyyy/mm/ddに変更するっていうのはどうでしょうか?
関連するQ&A
- ACCESSの日付形式
テーブルに日付形式のフィールドがあり、エクスポートすると、形式がyyyy/mm/dd hh:mm:ddになってしまいます。 yyyy/mm/dd形式でエクスポートするには、どのようにしたらよいでしょうか。 VBAのDocmd.TransferTextで行いたいと思います ちなみにAccess97です。 よろしくお願いします
- ベストアンサー
- オフィス系ソフト
- Access VBA DoCmd.TransferTextについて
ACCESS VBAでテーブルの情報をDoCmd.TransferTextを用いて CSV出力しようとしています。 しかし、"YYYY/MM/DD"形式のデータがどうしても"YYYY/MM/DD HH:mm" 形式で出力されてしまいます。 このメソッドを用いると必ずこうなってしまうのでしょうか? よろしくお願いいたします。
- 締切済み
- Visual Basic
- AccessでExcel出力する際に「シングルコートなし」、日付は「YYYY/MM/DD」で出力したい
初めて質問させていただきます。 ACCESS2003で、出力用テーブルからCSVもしくはExcel出力をしたく、色々試してみましたが、希望通りにいかず悩んでおります。具体的には、以下のような悩みです。どなたか良いアイデアをお持ちでしたらご教授ください。 ---------------------------------- ●以下のプログラムでCSV出力をすると、日付に時間(0:00:0)が付加してしまう。 DoCmd.TransferText acExportDelim, "", "出力データ用テーブル", 出力ファイル名, True ●以下のプログラムでEXCEL出力をすると、日付は「YYYY/MM/DD」で出力されるが、全てのテキスト型のデータの頭に「'」シングルコーテーションが付いてしまう。 DoCmd.TransferSpreadsheet acExport, , "出力データ用テーブル", 出力ファイル名, True ●以下のプログラムでEXCEL出力をすると、日付が「dd-mm-yy」となってしまう。「YYYY/MM/DD」としたい。 DoCmd.OutputTo acOutputTable, "出力データ用テーブル", acFormatXLS, 出力ファイル名, True ---------------------------------- シングルコーテーションは付かずに、日付も「YYYY/MM/DD」と表示されることが希望で、ファイルはCSVでもEXCELでもどちらでも構いません。 どなたか良い方法をご存知でしたらご教授ください。 よろしくお願いします。
- 締切済み
- その他(データベース)
- AccessからExcelへエクスポートするVBA
いつもお世話になっております。 AccessのクエリからデータをExcelにエクスポートします。 形式はMicrosoft Excel97-2003です。 フォーム"F_全データ"にボタンを付けて、クリックするとファイル名を自分で付けて保存する。というVBAを作成したいです。 1つ目のVBAは DoCmd.OutputTo acForm, "F6_全データ", "MicrosoftExcelBiff8(*.xls)", "", False, "", 0 これだと、ファイルの種類が、Microsoft Excel5-7になってしまい困ります。 この形式になってしまうと、Excelデータを開くと、文字数が多いところが保存されていません。これだと困ります。 2つ目が DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "F_全データ", "○○○.xls" こちらですと、ファイルの種類は97-2003になりまして、問題はないのですが、ファイル名は自分で指定したいのです。 ご指導よろしくお願いします。
- ベストアンサー
- その他(データベース)
- エクセルVBAでシリアル値で読み込まれてしまう
こんばんわ! エクセルVBAのユーザーフォームの質問です。 A1セルにある日付データ(yyyy/mm/dd形式)のデータをユーザーフォームのテキストボックスに入れるとシリアル値になってしまいます。 式は普通に aaa.text=range("a1") としています。 同様に時刻もなってしまうのですが、どうしたら通常のyyyy/mm/dd形式(時刻はhh:mm形式)で表示できるでしょうか? アドバイスの程よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA:日付データの変換がうまくいかない2
http://okwave.jp/qa/q7615238.html の続きです。 問題内容が変わってしまったので、改めて質問させていただきます。 困っているところは、日付のセルのデータ表示をyyyy/mm/ddに固定したいのですがうまくいきません。 前回返信頂いた内容を参考に頑張ってみたのですが、以下のような現象に陥りました。 (1)1回VBAプログラムを通すと、CSVファイルにyyyy/mm/ddの日付データが書き込まれる。 (2)【その後、csvファイルを閉じて、もう一度csvファイルを開くと、mm/dd/yyyyの形式に戻っている。】 (2)の現象がなぜ起きるのかわかりません。MSの仕様なのでしょうか? どうしようもないのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- ACCESS日付形式について質問です。
日付抽出条件を含んだフォームを作成したのですが、午前中までyyyy/mm/ddの形式で入力し、抽出できたのですが、今mm/ddの形式で入力しないと抽出できなくなりました。 変更をした覚えはないのですが・・・ yyyy/mm/ddで抽出できる方法を教えてください。 おねがいします。
- ベストアンサー
- オフィス系ソフト
- エクセルへのエクスポート
ACCESS 2003 の VBA で下記の命令を実行してエクセルファイルをエクスポートします。 (環境はSQLserver2008、XP+ACCESS2003+EXCEL2003) DoCmd.OutputTo acOutputStoredProcedure, "テーブル名", acFormatXLS, "C:\ACCESS\テーブル名.xls" (1) 日付型(datetime)のフィールドの表示が「20-Dec-09」となってしまいます。 最初から「2009/11/20」と云う型でエクスポートできないのでしょうか? (2) エクスポートされたファイルを開いて保存するときに 「Excel 5.0/95 ブックです。最新の Excel のファイル形式に更新しますか?」 と表示されます。 (VISTA+Access2003+Excel2007は表示されません) 最初から2003のファイル形式でエクスポートする方法はありませんか?
- 締切済み
- SQL Server
- EXCEL VBAでのCSV出力について
EXCELに入力されたデータをCSV出力するプログラムを作成しました。データには日付が入っており年月日がYYYY/MM/DDの形で入力されています。これをハンド作業で名前をつけて保存でCSVに出力すると年月日はそのままの状態で保存されますが、VBAで保存するとMM/DD/YYYYの形になってしまいます。この状態で保存されると、次にEXCELで読み出すと年月日が文字列扱いになってしまいます。新しいマクロの記録で行っても結果は同じでした。 VBAで保存する際、YYYY/MM/DDで保存する方法はないでしょうか。 また、MM/DD/YYYYで保存されたCSVを日付としてEXCELに認識させる方法はあるでしょうか。 教えてください。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- Excel VBAについて
Excel VBAについて ExcelのセルA1に日付データ(yyyy/mm/dd hh:mm)が入っています。 このエクセルファイルを開いている間、セルA1の日付(時分)が更新されたらマクロを実行するようにしたいのですが、どのようにしたらよいのでしょうか。 セルA1の日付データが更新されるタイミングは決まっていません。 セルA1の日付データが更新されたらマクロ実行というのが難しいのであれば、 10秒おきにマクロを実行というようなことができないでしょうか。 ご教授願います。
- ベストアンサー
- Visual Basic
お礼
ご回答ありがとうござました。m(__)m フォームからの変換なのでTransferが使えなかったです。そこで、教えていただいたCreateObjectでやってみたのですが、データ量が大きく、かなり時間がかかってしまってダメということになってしまいました。すみません。 結局、日付型を諦めてテキストにしてしまいました。