• 締切済み

マクロ>指定した範囲をテキストファイルとして名前をつけて保存する

こんにちはtmgmです。 「指定した範囲をテキストファイルとして名前をつけて保存する。」 というようなマクロが分かる方いらっしゃいますでしょうか? 私がいましている作業の効率化を図るためにあったらすごく便利だなぁとおもって投稿してみました。 セルを選択し、ショートカットキー(例えばCtrl+Shift+f)を押すことで、”名前をつけて保存”ダイアログボックスが表示され、指定した名前でテキストファイルとして保存する この作業がマクロでできたら非常に便利です。 どなたかご存知の方いらっしゃいましたらご返答宜しく御願いします。

  • tmgm
  • お礼率17% (47/273)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

シートにコマンドボタンを貼りつけ、クリックイベント に書きました。ショートカットの方がよければ 変えてください。 やり方は、エクセルのセル範囲を指定。(飛び飛びは不可。) コマンドボタンをクリック。 csvファイルが出来る。文字列は””で囲むと言う方式ではない。 Private Sub CommandButton1_Click() Open "c:\My Documents\aaa14.csv" For Output As #1 Dim cl As Range m = Selection(1).Row fst = "y" s = "" For Each cl In Selection If cl.Row = m Then If fst = "y" Then s = cl fst = "n" Else s = s & "," & cl End If Else Print #1, s s = cl m = cl.Row End If Next Print #1, s Close #1 End Sub ファイル名はInputBoxででもダイアログでも聞こうと思ったが、その辺の変更はご存知のレベルだろうと省略。 (実例) x,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 a,b,c,d,e f,g,h,I,j a,b,c,d,e f,g,h,I,j a,b,c,d,e

回答No.2

ちょっとリファインする必要がありますが、あまり時間が無いのでこれで勘弁してください。 簡単なマクロを組んで見ました。 <問題点> ファイル名の指定をすることができない。(名前をつけて保存ダイアログが出ない) 最後のシート削除に確認メッセージが出る。 Sub SelectionSave() '選択範囲を新しいシートにコピー Selection.Copy Sheets.Add ActiveSheet.Paste Application.CutCopyMode = False '保存 ActiveWorkbook.SaveAs Filename:="C:\Book1.txt", _ FileFormat:=xlText '一時使用したシートを削除 ActiveWindow.SelectedSheets.Delete End Sub

回答No.1

Wordですか?Excelですか? ついでにバージョンも教えてください。

tmgm
質問者

補足

こんにちは、tmgmです。 すいません。それをお伝えするのを忘れていました。 ソフトはExcelです。 バージョンはXP(SP3)です。

関連するQ&A

  • 「名前をつけてファイルを保存」で保存する:VB.NET

    テキストボックスの内容をテキストファイルに書き込んで保存するプログラムを作っています。 1.指定した場所に指定したファイル名で保存する 2.「名前をつけて保存する」ダイアログを表示する 以上の2つについては分かったのですが、いわゆるメモ帳のようにメニューバーからファイル→名前をつけて保存ダイアログを開き、任意の場所にテキストボックスの内容を書き込んだテキストファイルを作成する方法が分かりません。 分かる方がいらっしゃいましたらご教授下さい。

  • マクロで「名前を付けて保存」を実行したいのですが

    エクセル2000でマクロを作成しています。 そのマクロを作成したファイルを、各ユーザーが使用しますが、作業途中のファイルを「名前を付けて保存」したいと考えています。 しかし、各ユーザーのPC環境がまちまちなので、保存ファイルのパス名の記述が画一的に出来ない状況となっています。 そこで、エクセルの名前を付けて保存のショートカットキー『F12』の押下動作をユーザーフォーム上のコマンドボタンで出来るようにしたいのです。 単純にF12キーを押せばいいのですが、ユーザーはショートカットキー操作は全く慣れていないので、ユーザーフォーム上のオブジェクトだけで操作が出来るようにしたいと考えています。 どなたか、この方法がお分かりの方がおられましたら、ご教示頂きたくお願い致します。

  • 「名前をつけて保存」のマクロ

    すみません。マクロコードの記述が分からないのでお願いします。 「名前をつけて保存」(ファイル名をつけて保存)のダイアログボックスを出現させるVBEコードを教えてください。

  • 一つのマクロボタンにてファイルを2つ保存

    作業中のExcelファイルを「名前を付けて保存」する作業をマクロ化できませんか? その時 (1)ファイル名は指定のセルから取得させたいです。 (2)2番目のシートを一番最初に移動させた状態で  もう一つ別のファイルとして保存したいです。 (その時のファイル名は(1)で指定したものと違う名前で) 各営業所から上がってくる勤怠データの取りまとめに 困っております。 どなたか助けてください!!

  • 「名前を付けて保存」で保存されるファイルの拡張子

    ブラウザに、palemoon12をメインで使っています。 他には、ie8、firefox13、その他いろいろ使っています。 ウエッブでページを保存する場合に、ファイルの種類として、主に Webページ、完全 Webページ、HTMLのみ テキストファイル の3種類で保存しています。 palemoonやfirefoxで保存するとき、「ファイルの種類」が何であっても、「ファイル名」のボックスではファイル名にデフォルトで「.htm」が付いてしまっています。 しかしこれは、「テキストファイル」で保存する場合、困ります。 テキストなのに拡張子に「.htm」が付いたファイルを開くと、テキストエディタで開かれますが、改行が全くないベタのテキストなので、大変に読みにくいのです。 そのため、テキストで保存する場合には一々、拡張子の部分を削除してから保存しています。そうすると、ファイル名に「.txt」が付いて保存されますし、元が<br>などで改行されている箇所はちゃんと改行されているのです。 しかし、保存するときに一々ファイル名に付いている拡張子を削除しなければならない、これは面倒です。 palemoonやfirefoxで、保存する「ファイルの種類」がテキストの時に、一々手動で削除しなくても自動的にファイル名に拡張子に「.txt」が付く方法がないでしょうか。 よろしくお願いいたします。 ちなみに、ieでは「ファイルの種類」が何であっても、「ファイル名」のボックスでは拡張子は付きません。しかし、保存されたファイルには、選択した「ファイルの種類」に応じて、「.htm」「.mht」「.txt」など適切な拡張子が付けられていますし、ファイルの中身もそれに応じた体裁になっています。 もう一つちなみに、この点はieがいいのですが、決定的に不便な点があります。 「名前を付けて保存」する場合、 palemoonやfirefoxでは Ctrl+S のショートカットキーが使えます。しかし、ieにはこのような便利なショートカットキーが用意されていない。 どちらも中途半端で、困ります。

  • 指定のファイルを開くマクロ

    こんにちは。 いろいろやってみましたが、うまくいかなかったのでアドバイスいただけませんか。 マクロで指定のファイルを開く場合、 ChDir "C:\File" Workbooks.Open Filename:="リスト.csv" のように指定しています。 A1にC:\File A2にリスト.csv このように記述して ChDir "A1" Workbooks.Open Filename:="A2" のように開くようにはできませんか。 それと、似たようなことですが Windows("リスト.csv").Activate と指定するところを Windows("A2").Activate のように指定したい場合はどうでしょうか。 次に、A1にディレクトリ A2にファイルネームを指定するためにダイアログを出したいのですが、 そのような便利なマクロはあるのでしょうか。 よろしくお願いします。

  • 『保存』のマクロを違う名前のファイルでも実行したい

    マクロ初心者です。 CSVファイルの数字の羅列をエクセル上に並べグラフにするマクロを作りました。 今度はそれをエクセルファイルとして保存したい。 見よう見まねで保存のマクロを作ってみましたが、 その際、このマクロを他のCSVファイルで実行しようとすると マクロを作ったファイル名に保存しようとします。 (例)Book1 で作ったマクロはBook2のファイルで同じマクロを実行するとBook1に保存しよう(上書き)とします。 これをその時開いて作業しているファイル名で自動的に保存させるには どうしたらいいのでしょうか? (例)Book1で作業してる時は保存名をBook1に、 Book2で作業しているときは保存名をBook2にしたい。 説明が下手で申し訳ありませんが、この様な事がマクロでできるのでしょうか?また、できるとすればどこをどのようにすればいいのでしょうか? 教えてください。よろしくお願いします。

  • エクセルでファイルをcsv形式で保存するマクロについて

    同様の質問が以前にあったのですが、 どうやら私のは少し違うようなので新規質問として投稿させていただきます。 エクセルファイルを保存する際、保存形式を「テキスト(タブ区切り)(*.txt)」にして、 ファイル名の拡張子の部分だけ(.csv)にして保存するマクロを作成したいです。 しかし、エクセルに付いているオートマクロ機能で記録しようとすると、 ・ファイル名がオートマクロを作成した際に付けたファイル名になってしまう。 ・保存場所がオートマクロを作成した際に保存したフォルダになってしまう。 という問題が発生します。 なので、 ・保存する際のファイル名は現在作業しているファイルの名前をそのまま使用する。 ・保存する際のファイル名の拡張子部分は(.csv)に変更する ・保存場所は現在作業しているファイルがあるフォルダにする(もしくはプログラムで予めパスを指定できる)。 ・保存形式は「テキスト(タブ区切り)(.txt)」 の4つの条件を満たすマクロの作成方法をお教えいただけますでしょうか? すみませんが、よろしくおねがいします

  • テキスト保存

    ご教授お願い致します。  ユーザー様より以下の要望がりましたので  その可否並びに可能な場合はその方法を  お願い致します。  プログラムにテキストへの抽出という  機能がありまして、それを実行すると  (1)ファイルの保存先ダイアログが起動します。  (2)そこで、ファイル名を任意に指定し、保存のボタンを押します。  (3)その対象レコードがテキストファイルに書き込んでいく   作業となります。  よって、(2)の時点ではテキストファイルは存在しません。  そのため、(2)のファイル名を指定の部分で、(3)のテキストファイルの  1行目に任意の題名を自動作成した上で2行目からレコードの  書き込みができるようにしたい。  以上、ご回答お願い致します。

  • セルで指定した名前のテキストファイルをインポートするマクロの作り方

    例: A1セルに5,B1セルに1を入力。(5月1日を表しています) その後マクロを実行し、0501.txtという5月1日に相当する テキストファイルをインポートするというものです。 該当のフォルダ内には各日付ごとのテキストファイルが 複数存在しており、インポートしたいテキストファイル をエクセルファイルのセル上で指定するのが目的です。 インポートするファイル名を固定しないというマクロの 作り方がわかりません。 どうぞよろしくお願いします。

専門家に質問してみよう