-
三流君の [コンビニ系HPへ] [VBA系HPへ] [ASP系HPへ] [愚痴系HPへ]

<Access97からExcel形式へExport時に書式設定を行いたい>

今回は、
Accessのテーブル
を
Excel形式へエクスポートと同時に書式設定したいです。

>In message "けんぞうさんへ質問",
>Date Wed, 18 Apr 2000 12:19:27 +0900
>Access VBAを使用して、テーブルをEXCELに変換後、
>作業をやってます
>DoCmd.TransferSpreadsheet acExport, 5, "管理MST", "C:\KANRI.XLS", True, ""
>日付型はYYYY/MM/DDの形式、
>12,345と数値にはカンマを付けたいのですが

普通にやって、ならないの?かなぁ?
テーブルに書式付けてます?
でやってみると、、あれ、書式通りにはエクスポートされないんだね。
*↑質問者とKen3の勘違いだったらすみません。

なんか、おかしい と おもいつつ
Access97 VBAからExcel ファイルを開いて、
設定するサンプルを下記に載せます。
'--------
'例)B列が日付、C〜F列をカンマ区切りにする。
'--------
Private Sub コマンド0_Click()
On Error GoTo Err_コマンド0_Click

    'ここで、まず、テーブルからEXCELファイルを作成
    DoCmd.TransferSpreadsheet acExport, 5, "管理MST", "C:\TEST.XLS", True, ""

    'Excel起動

    Dim oApp As Object

    Set oApp = CreateObject("Excel.Application")
    oApp.Visible = True
    'Only XL 97 supports UserControl Property
    On Error Resume Next
    oApp.UserControl = True

    'ブックを開く
    oApp.Workbooks.Open FileName:="C:\TEST.XLS"

    '書式を設定する
    oApp.Columns("B:B").Select
    oApp.Selection.NumberFormatLocal = "yyyy/mm/dd"
    
    oApp.Columns("C:F").Select
    oApp.Selection.NumberFormatLocal = "\#,##0;\-#,##0"

    '参照を解除する
    Set oApp = Nothing

Exit_コマンド0_Click:
    Exit Sub

Err_コマンド0_Click:
    MsgBox Err.Description
    Resume Exit_コマンド0_Click
    
End Sub
'-------------------------------------------------

まず、
    Dim oApp As Object

    Set oApp = CreateObject("Excel.Application")
    oApp.Visible = True
    'Only XL 97 supports UserControl Property
    On Error Resume Next
    oApp.UserControl = True
の部分ですが、どこかで見たなぁ、、って人いますよね?
ウイザードで作成したソース、そのままです。





これだけで、Excel起動のモジュールを勝手に作ってくれます
次に、Excelファイルのオープンと書式の設定の部分ですが、 'ブックを開く oApp.Workbooks.Open FileName:="C:\TEST.XLS" '書式を設定する oApp.Columns("B:B").Select oApp.Selection.NumberFormatLocal = "yyyy/mm/dd" 上記は、Excel上でマクロ記録を行って、 それの頭に、oApp.を付けただけです。 例)マクロ記録でブックを開くが下記の用に記録される   Workbooks.Open FileName:="C:\TEST.XLS" これに、ただ、oApp.を付けただけで、コントロールしてます。

目的の操作を行い、記録終了
AltとF11を押して、VBAの編集画面を起動、、抜き出す。
三流さん、 oApp.Columns("B:B").Select oApp.Selection.NumberFormatLocal = "yyyy/mm/dd" は一行にまとめてよ、マクロ記録まるだしジャン と バレたところで、、このへんで今日も失礼します。 三流プログラマーのKen3 でした。 PS.せっかく読者数1500人越えて    祝1500人突破記念号を出そうと思ったが、     一個前のグチ読んで、また、解除が続出、、、      *グチと一品サンプルのメルマガ、、分けようかなぁ、、
いつのまにか読者も減って870人、どこまで減るのか(笑) (2003/01/06)


質問や要望、クレームを送る(三流君に連絡する 連絡方法)

質問や要望など連絡方法でお互い確認が取りやすく、便利なのが掲示板なのですが、私の対応のまずさから不定期で荒れてしまい、掲示板は現在封鎖中です。(反省しなきゃ)
感想や質問・要望・苦情など 三流君へメッセージを送る。
時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。
あなたのお名前(ニックネーム):さん
返信は?: 不用(HP更新を待つ) , E-mail→ アドレス:に返事をもらいたい

(感想や質問・要望・苦情はHPで記事に載せることがあります。)

急ぎで連絡がほしい、そんな時は:[三流君連絡先]に連絡してください。

番外編 愚痴系で書いてた今日の一品 (短いサブ関数など)

2000/05/13 SQL Count関数を使ってみる
2000/05/11 Access97 標準関数Midなどが使えない
2000/05/09 SendObjectのエンコード
2000/05/08 クエリーで〜以外とは
2000/04/27 Imagingコントロールを使ってみた
2000/04/25 Excel97 VBA イベントなど
2000/04/24 Access97で複数のプリンタを切替えて使用
2000/04/20 書式付きエクスポート DoCmd.OutputToで、できます
2000/04/19 Access97でExcel形式へExport時に書式設定を行いたい
2000/04/13 Access97でOutlook97/98とリンクする方法
2000/04/13 VBA Nameステートメント
2000/04/04 Accessでキー取得
2000/04/04 AccessでFile参照ダイアログ?
2000/04/03 縦書用数値変換改良
2000/04/01 Access Err テーブルを消したい
2000/03/31 縦書き数値、どうしてますか?
2000/03/29 VBA 手抜きで、処理後、explorerを開く
2000/03/28 Access --> Word へデータ
2000/03/24 名前一覧Excelの機能で、同じことできました
2000/03/23 Excel97 VBA セルに付けた名前一覧を作成する
2000/03/21 Excel セルに名前付け
2000/02/25 iniFileを読む GetPrivateProfileString
2000/02/15 Excel VBA Rangeオブジェクトとサンプル
2000/02/14 Access97 SizeMode/OLEサイズ で画像調整
2000/02/10 Access97 Pictureプロパティとサンプル
2000/02/09 Access97 集計クエリーで重複値をハジク
2000/02/07 Access97 サブフォームへ値をセット
2000/02/04 Access97 コントロールソース、チョットした使用法
2000/02/01 Access97 フォームフッター
2000/01/18 Access97 now()関数で有効期限処理、、、

←パソコンの技術系の書籍を探しているなら コンピュータ関連の出版社33社(アスキー、インプレス等)が共同運営するコンピュータの本・専門店 種類が豊富で探し易い※在庫ありが48時間以内発送


[三流君(TOP)]へ戻る。