今回はCSVデータとして一か所にそれぞれのユーザーID名で保存するようにしたいと思います。
重複することは無いでしょうし、一か所のフォルダにまとめて置けば
人が複数人いてもまとめてデータの取得ができるのではないかということで。
■やりたいこと
「CSVに出力する」
■対策
データを扱う上で過去困った経験として、
日付:yyyy/mm/dd
時間:hh:mm:ss
で扱っていきたい。
並べ替えをしたときに1月10月11月12月2月3月…とか
1:00 10:00 11:00 12:00 ~ 19:00 2:00 20:00 …とか
並べ替えを設定すればよいのでしょうけどもBIツールの各チャートは都度設定しないとだめだったり、同じ設定を使いまわしたくても一つ変えると他に影響したり。
話がそれてしまいました。
あと、テキスト形式で " と , を含むもの。
今回自分で更新ログをいっぱい取ったときに関数の内容も見れるようにしていたら
Format(Date, "yyyy/mm/dd")
などの情報がカンマで分割されてしまったり、回避で""""で対処したら
Format(Date, yyyy/mm/dd")"
とで、CSVにして保存するときにダブルコーテーションが存在する数によって
Replaceで""""を変換したりと、シンプルに作ろうとしておりましたが
思っていたより長くなってしまいました。
さて、まずは一か所のフォルダにまとめるために
Function で使いまわしたいと思います。
そうすると、格納する階層を決め打ちする必要があります。運用は計画的に。
今回は
With ThisWorkbook
**= Left(.Path, InStrRev(.Path, "\") - 1)
End With
としてさらに
** & "格納するフォルダ名" & "ユーザーID" & ".csv"
格納するフォルダはいずれ用途によって変更できるように対策しました。
ColumnごとにFormatを指定して、Printで書き込む感じです。
■課題
日付はダブルクォーテーションで加工必要があるのか。
CSVを利用する側のエクセル以外の人たちの要望を私は知らない…。
結局私はVBAで取り込んでこの後も作業するのでどこで影響がでるのでしょうかね。
0 件のコメント:
コメントを投稿