いつもお世話になっております。
標題の件なのですが、Excelで"2011/04/28"と入っている項目を
VBSでCSVに変換して出力すると、"4/28/2011"と出力されます。
objExcel.ActiveWorkbook.SaveAs ファイル名, xlCSV, true
とすると、コントロールパネルの地域と言語のオプションにある短い形式で出力されるという記事を見つけたのですが、"4/28/2011"と出力されてしまいます。
解決方法をご教授願います。よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
言語設定の「短い形式」が"yyyy/mm/dd"になっているにも関わらず、
"mm/dd/yyyy"で保存される現象が問題なのでしょうか。
だとすると、VBSに限った話ではありません。
Excelでも手動保存時は発生せず、VBAの場合に同現象が発生します。
ExcelVBAで確認してください。
Sub test1()
With Workbooks.Add
With .Sheets(1)
.Range("A1").Value = "2011/4/28"
.Range("B1").Value = "'2011/04/28"
End With
.SaveAs Filename:="C:\temp\test1.csv", FileFormat:=xlCSV
.Close False
End With
End Sub
Sub test2()
With Workbooks.Add
With .Sheets(1)
.Range("A1").Value = "2011/4/28"
.Range("B1").Value = "'2011/04/28"
End With
.SaveAs Filename:="C:\temp\test2.csv", FileFormat:=xlCSV, Local:=True
.Close False
End With
End Sub
SaveAsメソッドのヘルプを参照の事。
>Local 省略可能です。バリアント型 (Variant) の値を使用します。
>Excel の言語設定 (コントロール パネルの設定を含む) に合わせてファイルを保存するには、
>True を指定します。
>Visual Basic for Applications (VBA) の言語設定に合わせてファイルを保存するには、
>False (既定値) を指定します。
>通常この設定は、Workbooks.Open を実行する VBA プロジェクトが Excel バージョン 5
>または 95 の各国語版で作成されたプロジェクトでない限り、英語 (U.S.) になります。
という事で、
>objExcel.ActiveWorkbook.SaveAs ファイル名, xlCSV, true
>とすると、コントロールパネルの地域と言語のオプションにある短い形式で出力される...
VBSでの引数Localの指定の仕方が少し違います。
objExcel.ActiveWorkbook.SaveAs ファイル名, 6, , , , , , , , , , True
No.1
- 回答日時:
ご参考。
http://www.gizcollabo.jp/vbtomo/boards/vbqanda.p …
なお、この処理をすると「システム全体が変わったまんま」になるので、変えた後に元に戻さないと「変えてあるのを想定してないアプリケーションが誤動作」します。
変更前に、直前の設定値を保存しておいて、CSV出力が終わったら、元に戻しましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- その他(Microsoft Office) Wordを変換してExcelに挿入 2 2022/07/04 23:59
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- 工学 制御工学の問題です。 3 2023/01/23 22:32
- Excel(エクセル) Excelのセル上の日付の不具合 3 2022/05/22 18:20
- Visual Basic(VBA) VBS Bookを閉じるコード 1 2023/02/16 17:31
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- PHP csvファイルについて教えて下さい。 2 2023/04/01 19:59
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
csvファイルでの日付設定「yyyy/mm/dd」が保存すると元に戻ってしまいます
Excel(エクセル)
-
VBScriptでのSaveAsについて
Visual Basic(VBA)
-
エクセルの任意のシートをcsv出力するVBScript
Visual Basic(VBA)
-
-
4
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
5
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
EXCELVBAにて文字列にして「01」と表示させて、CSV形式で保存すると「1」になってしまう。
その他(プログラミング・Web制作)
-
8
CSV形式にすると出てくる空白を消したいです。
その他(Microsoft Office)
-
9
Excelマクロ 空白セルを無視してCSV出力
Excel(エクセル)
-
10
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル出力の場所を指定
-
VC++でUTF-8のファイルを出力し...
-
構造体のファイル出力
-
CreateProcess関数と実行後の戻...
-
VBScriptのReadTextについて
-
Accessでのレポート印刷待機方法
-
コマンド(例えばls)の出力結果...
-
Base64でエンコードした後の文...
-
C++ BuilderでPDF出力
-
ファイルの文字コードをUTF-8に...
-
テキストファイルに改行コード...
-
サウンド出力のデバイスを選択...
-
VB.NETでExcelファイルを出力す...
-
stdout/stderrを同一ファイルに...
-
C言語での印刷方法
-
重複チェックプログラム
-
FORTRANの出力データの左寄せが...
-
COBOLのファイル出力
-
二次元配列をクリップボードに...
-
C++ fprintf_sの使い方がわからん
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
Acccess レポートをグループ別...
-
VC++でUTF-8のファイルを出力し...
-
サウンド出力のデバイスを選択...
-
ファイルの文字コードをUTF-8に...
-
VBA でメモ帳へ保存する際の保...
-
ファイル出力の場所を指定
-
ファイル形式またはファイル拡...
-
テキストファイルに改行コード...
-
シェルコマンドの 2>&1 とはど...
-
Wordマクロで指定したフォルダ...
-
AccessVBA複数レポート条件毎に...
-
二次元配列をクリップボードに...
-
UNIX & Linux の標準出力で得た...
-
フォルダにあるPDF情報の抽出(VBA)
-
C++ BuilderでPDF出力
-
VBSでEXCEL⇒CSV変換で日付の書...
-
fortranのtxtファイル出力書式...
-
CBool関数について VB6とVB.net...
-
ワードからPDF変換でグラフが表...
おすすめ情報