Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Excel 2016)
ExcelファイルをCSVへ吐き出しユーザーが保存先を指定して新規で保存する方法
投稿日時: 18/09/14 03:46:34
投稿者: yuki_cyan

ExcelファイルにあるシートのデータをCSVデータとして保存をしたいのですが文字化けせずに
CSVデータとして吐き出し(書き込み)ユーザが保存先を指定して、新規で保存する方法。
 
工程の流れとして下記の様になると思うのですが・・・
@テキストファイルで開いたときに、カンマで区切られているデータとしてCSVに吐き出す。
A吐き出したデータをCSVファイルに読み込み
B読み込んだデータをユーザーが保存先を指定して新規に保存する。

回答
投稿日時: 18/09/14 06:56:59
投稿者: よろずや

yuki_cyan さんの引用:
ExcelファイルにあるシートのデータをCSVデータとして保存をしたいのですが文字化けせずに
CSVデータとして吐き出し(書き込み)ユーザが保存先を指定して、新規で保存する方法。
工程の流れとして下記の様になると思うのですが・・・
@Excelファイルを開く。
ACSVファイルとしての保存先を指定する。
BCSVファイルとして新規に保存する。
 
で、現状のプログラムはどうなってますか?

回答
投稿日時: 18/09/14 08:54:40
投稿者: WinArrow
投稿者のウェブサイトに移動

>B読み込んだデータをユーザーが保存先を指定
 
のところだけのアドバイス
 
方法論はいくつかあります。(代表的な方法を2つ)
 
(1)保存したいファイルパスを「INPUTBOX」で指定する方法
  →フォルダが存在するかチェックすること、ファイル名として使用できない文字のチェックが必要
 
(2)保存先(フォルダ)ダイアログを表示して、ファイル名を指定(入力)させる方法
  推奨:Application.GetSaveAsFilename メソッド
 

回答
投稿日時: 18/09/14 10:58:11
投稿者: もこな2

横からですけど、

yuki_cyan さんの引用:
工程の流れとして下記の様になると思うのですが・・・
@テキストファイルで開いたときに、カンマで区切られているデータとしてCSVに吐き出す。
A吐き出したデータをCSVファイルに読み込み
B読み込んだデータをユーザーが保存先を指定して新規に保存する。
ということですが、
一つ目は、そもそも「CSV」ってcomma-separated values つまり、値をカンマで区切ったテキストファイルです。
 
なので、手作業でやるなら
(1)保存したいシートをアクティブにする。
(2)「名前を付けて保存」から保存先、ファイル名を選択(入力)して、
   ファイルの種類でCSVを選択して保存
となりませんか?
 
おそらくお困りの点は、上記操作をしたときに希望の文字コードと違うものでCSVが作られちゃうってところなんじゃないかとおもいます。
 
文字化けせず(=どの文字コードならいいのか)というのがわかりませんが、UTF-8でいいのであれば、Excel2018の新機能として、↓のようなものがあるみたいなので、使ってみてはどうでしょうか。
(私は2007なので試せてないですけど・・・)
https://did2memo.net/2016/11/14/excel-csv-utf8/
 
ちなみに、この掲示板の利用規約をご覧になったかと思いますが、コード作成依頼はNGですので、よろずやさんが確認されているように、現状のコードを提示したほうが、より具体的なアドバイスがもらえると思います。

トピックに返信