• ベストアンサー

【Excel】特定セルの内容をテキストファイルに書き出したい

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

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

テキスト形式で保存 ↑をマクロの自動記録してみてください。 新規シート追加 ↓ 保存したいセル範囲を新規シートにコピー ↓ 新規シートを新規ブックに移動 ↓ 新規ブックをテキスト形式で保存 ↓ 新規ブックを閉じる 以上でできます。 でも、下のような簡単な方法もあります。 フォルダの指定がないのでデスクトップにしてあります。 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

hee1
質問者

補足

こんにちは。 回答頂き有難うございます。 マクロで・・・と言っておきながらマクロはほとんど分かりません。 教えて頂きましたマクロを実行すると 「コンパイルエラー:プロシージャの外では無効です」 となってしまいました。 また、abc.txtを保存すると、このExcelファイルが「abc.txt」となってしまうので、 保存終了の際に「名前をつけて保存」をしなければなりません。 abc.txtは別に常に上書きされて、 このExcelは.xlsで保存して終了したいのですが・・・。 ややこしくてすみません。

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

#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 というように既にファイルが存在するか判定して条件分岐することも可能です。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

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

関連するQ&A

専門家に質問してみよう