
No.5ベストアンサー
- 回答日時:
こんにちは。
No.3補足へのレスです。>別のブックにコードを保存しておいて、
は○ですが
>書き出しをしたいxlsファイルからその別ファイルのマクロを呼び出して実行する
が少し意味が違うかもしれません。混乱させてしまってごめんなさい。
ActiveWorkbookの名前がhoge.xlsだとします。
これにマクロコードを入れて、hoge.xlsをhoge.csvとして保存するような設定だと
コードの修正などした後に、hoge.xlsを上書き保存せずに実行すると
hoge.csvにはVBAコードは保存できないですから、
コード修正が反映されないままになります。
また、VBAに保護をかけたりするとエラーとなります。
ですので、ただ単に、マクロのブックとデータのブックは分けたほうが良いですよ。
という意味でした。
運用の詳細が不明なのでなんとも言えないところですが、
VBAコードを含んだ、複数シートを持つxlsブックをcsvファイルとして保存する事は
あまりないような気もしましたから。
そういう点を考慮するならば
Sub csvで書き出し2()
ActiveSheet.Copy '■追加
With ActiveWorkbook
.SaveAs Filename:="C:\Documents and Settings\○○○\デスクトップ\hoge.csv" _
, FileFormat:=xlCSV
.Close SaveChanges:=False
End With
End Sub
という感じで、目的のシート『だけ』を一旦コピーしてcsvファイルとして保存するように
変更されたほうが良いかもしれませんね。
No.4
- 回答日時:
No.1です。
No.3の方の回答で解決と思いますが、一応エラーじゃないよっていう弁解を。
>bookCSV.Close False
の「bookCSV」は、今開いているCSVファイルのブックのをあらわす変数のつもりだったので、回答者さんが書いてる
「ActiveBook」と同じものです。
コードが無かったので適当に名づけてみました。
だから、
ActiveBook.Close False
ってしてもらえればオッケーです(^^)
No.3
- 回答日時:
こんにちは。
>xlsファイルからcsvで書き出したいのですが、書き出し後そのcsvファイルが開いてしまいます。
とは、どのように書き出していますか?
>書き出し後そのcsvファイルが開いてしまいます。
が『csvで保存後、開いたままなので閉じたい』という意味なら、
既出のコードを
Sub csvで書き出し()
With ActiveWorkbook
.SaveAs Filename:="C:\Documents and Settings\○○○\デスクトップ\hoge.csv" _
, FileFormat:=xlCSV
.Close SaveChanges:=False
End With
End Sub
とすれば良いと思います。
ただし、このコードは保存するファイルとは別のBookに置いて、実行しなければなりません。
また、EXCELでcsvファイルを開く時に、ある種のデータは、日付形式に自動的に認識されてしまいます。
これを文字列形式のままEXCELで開きたいという事になると、少し工夫が必要になります。
1)拡張子.csvを.txtに変更してテキストファイルとして開く。
2)(既出ですが)別Bookに[外部データの取り込み]でデータを取り込む。
などが考えられます。(マクロ処理可能)
この回答への補足
何度も申し訳ありません。
> このコードは保存するファイルとは別のBookに置いて、実行しなければなりません。
これは、別のブックにコードを保存しておいて、書き出しをしたいxlsファイルからその別ファイルのマクロを呼び出して実行する、ということになるのでしょうか?その際のマクロの指定方法はどうしたらよいのでしょうか?
No.2
- 回答日時:
CSVファイルは、ファイルを保存するためのファイル形式です。
保存しないで閉じるというニーズが想像できません。
A列 B列 C列
2006/3/12qghs43
として、CSVで保存しました。
メモ帳で表示すると
2006/3/12,qghs,43
となってます。
これをエクセルで、データー外部データの取り込み-データの取り込み
CSVファイル指定-テキストファイルウイザード1/3-カンマや・・次へ
ーカンマー次へー第1フィールドー日付ー第2フィールドクリックー文字列ー第3フィールドー標準ー完了ー読み込み開始場所指定ーOK
で
2006/3/12qghs43
となり、だい1フィールドは日付書式です。
これのどこが都合が悪いのでしょうか。
この回答への補足
悪くはないのですが強いて言えば「手間を省く」でしょうか。
csv書き出しマクロ一押しで全部を終わらせたいのです。
わがままといえばわがままですが、「楽をするためのパソコン」ということでおゆるしを。
No.1
- 回答日時:
閉じる時に、
bookCSV.Close False
(↑bookCSVがCSVで保存して今開かれた状態のブックとします。)
とすれば、保存しないで閉じられます。
この回答への補足
他も参考にしながら、マクロに書き加えてみました。
そしたら実行後「オブジェクトが必要です」とのエラーが出ました。エラー箇所はbookcsvの箇所でした。
正直vbaは全く分からないものでとんちんかんなことをしているかも知れませんがよろしくお願いします。
==
Sub csvで書き出し()
ChDir "C:\Documents and Settings\○○○\デスクトップ"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\○○○\デスクトップ\hoge.csv", FileFormat:=xlCSV, _
CreateBackup:=False
bookCSV.Close SaveChanges:=False
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Access(アクセス) Access VBA 1 2023/03/04 15:03
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) Excelについて。 Excelからcsv変換したいのですが、 やり方はファイル→名前をつけて保存→ 7 2022/07/27 01:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvファイルでの日付設定「yyyy...
-
複数のcsvファイルをExcelに一...
-
Excelで作成した単語帳をp-stu...
-
データ解析ソフトRでのファイル...
-
Visual C++によるcsvファイルの...
-
【C#】パス名で無効な文字
-
VBSでソート&ファイル分割
-
VBS or BATでCSVファイルに入っ...
-
csvファイルを列数ごとに分割す...
-
Excelでcsvのフィールドが減る
-
カンマ区切りのCSVファイルから...
-
[VBA] LOGファイル (text )か...
-
複数のCSVファイルのAccessテー...
-
CSV形式での保存時に”文字列...
-
バッチでCSVを処理する時、空の...
-
C# datagridview csv 読込
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
ExcelブックをGoogleスプレッド...
-
エクセルVBAで一つ上の階層...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
バッチでCSVを処理する時、空の...
-
【C#】パス名で無効な文字
-
csvファイル 項目数取得
-
マクロから出力されるcsvのダブ...
-
CSV形式での保存時に”文字列...
-
エクセルVBA 大容量CSVファイル...
-
csvファイルでの日付設定「yyyy...
-
【ExcelVBA】UTF-8の文字コード...
-
CSVファイルの項目行を削除...
-
【エクセルVBA】お願いします。...
-
csvファイルを列数ごとに分割す...
-
VBAでCSVファイルのインポート...
-
【エクセル マクロ】読み込ん...
-
エクセル形式のファイルの読み込み
-
巨大なCSVの加工(指定列のみの...
-
Windowsのバッチファイルについ...
-
COBOLでCSVをインプットにして...
-
CSV出力して、MS/EXCELで開くと...
-
CSV形式のファイルを読み込んで...
おすすめ情報