プロが教える店舗&オフィスのセキュリティ対策術

こんにちは

セルA1に
=A2&A3&A4
A2からA4までの文字を繋げて表示しています。
このA1に表示されている内容を
テキストファイル(例:abc.txt)に
簡単に保存できるマクロを教えて下さい。

Excel2003 です。

A 回答 (3件)

テキスト形式で保存


↑をマクロの自動記録してみてください。

新規シート追加

保存したいセル範囲を新規シートにコピー

新規シートを新規ブックに移動

新規ブックをテキスト形式で保存

新規ブックを閉じる

以上でできます。

でも、下のような簡単な方法もあります。
フォルダの指定がないのでデスクトップにしてあります。

ub txtkakidasi()
Dim txtmei As String
Dim newtxtstr As String
Dim fnum As Integer
newtxtstr = ActiveSheet.Range("A1").Value
txtmei = "C:\Documents and Settings\hoge\デスクトップ\abc.txt"
fnum = FreeFile
Open txtmei For Output As #fnum
Print #fnum, newtxtstr;
Close fnum
End Sub

Sub txtkakidasi2()
Dim txtmei As String
Dim newtxtstr As String
Dim FSO As Object
Dim f As Object
newtxtstr = ActiveSheet.Range("A1").Value
txtmei = "C:\Documents and Settings\hoge\デスクトップ\abc.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.CreateTextFile(txtmei)
f.write newtxtstr
f.Close
Set f = Nothing
Set FSO = Nothing
End Sub

この回答への補足

こんにちは。
回答頂き有難うございます。

マクロで・・・と言っておきながらマクロはほとんど分かりません。
教えて頂きましたマクロを実行すると
「コンパイルエラー:プロシージャの外では無効です」
となってしまいました。

また、abc.txtを保存すると、このExcelファイルが「abc.txt」となってしまうので、
保存終了の際に「名前をつけて保存」をしなければなりません。
abc.txtは別に常に上書きされて、
このExcelは.xlsで保存して終了したいのですが・・・。

ややこしくてすみません。

補足日時:2009/02/13 11:46
    • good
    • 0

#1で提示したコードは、既同名のファイルが存在したらエラー


になります。

"abc.txt"は定数ですが、

Dim txtmei As String
Dim fol As String
Dim txtpath As String
fol = CreateObject("WScript.Shell").SpecialFolders("Desktop")
txtmei = "abc"
txtpath = fol & "\" & txtmei & ".txt"

というようにフォルダ、テキストファイル名ともに変数で指定することも出来ます。

また、

If Dir(txtpath) <> "" Then
MsgBox txtpath & VbCrLf & "は既に存在するファイル名です。"
Else
'テキストファイル保存するコード
End If

というように既にファイルが存在するか判定して条件分岐することも可能です。
    • good
    • 0

マクロの記述で出来ると思います


ツールバーのマクロ=>マクロの記録
1、A1セルのコピィ
2、ファイル=>新規作成
3、新規ブックのA1セルに貼り付け
4、新規ブックの終了=>ファイル名 abc ファイルの種類 テキスト形式
5、コピィモード終了(Esc)
マクロの終了で作成できたコードをアレンジしてみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A