OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

エクセルのシートをテキストで保存したい

  • 困ってます
  • 質問No.146003
  • 閲覧数211
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 69% (145/210)

A2からB5までデータが入っている時に、
このデータのみ(A1~B1まで除く)をテキスト
ファイル(スペース区切り)(.prnファイル)
で保存しようとすれば
どのようにすればよろしいのでしょうか。

SaveAsを使うとデータの取り出し方法がわからず、
Writeを使うのはCSVファイルにする方法しか分からない
状態です。

よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

補足について、
>最後の行までとんでいってしまいます。

変数Output_Sheetは定義されているでしょうか。定義してなければOn Error GoToで最後まで飛びます。
また、スペース区切りのファイルにならないと思いますので手を加えてみました。On Error GoToの処理も少し手を加えています。

後半部分です。
  For lRowNumb = 5 To lLastRowNumb
    For nColumNumb = 1 To 24
      sData = Cells(lRowNumb, nColumNumb).Value
      If nColumNumb < 24 Then '修正
        Print #nFrn, sData & " "; '修正
      Else '修正
        Print #nFrn, sData '修正
      End If '修正
    Next nColumNumb
  Next lRowNumb

  Close #nFrn

  Exit Sub '追加

HandleError:
エラー処理?
お礼コメント
fuyu

お礼率 69% (145/210)

おかげさまで解決いたしました。
本当に、回答ありがとうございました。
投稿日時 - 2001-10-07 18:34:38
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 33% (1403/4213)

1.セル範囲A2~B5までを「新しいブック・単一のシート」にコピーする。   (1)シート名を右クリック。   (2)「移動またはコピー」で移動先ブック名を「新しいブック」にする。 2.ブック(シート)を「名前を付けて保存する」。   (1)タイプを「PRN」とする。   (2)ファイル名をダブルコーテーションで囲めば拡張子も指定可能。 上記をマクロで記録してみて、コードを読んでください。 ...続きを読む
1.セル範囲A2~B5までを「新しいブック・単一のシート」にコピーする。
  (1)シート名を右クリック。
  (2)「移動またはコピー」で移動先ブック名を「新しいブック」にする。
2.ブック(シート)を「名前を付けて保存する」。
  (1)タイプを「PRN」とする。
  (2)ファイル名をダブルコーテーションで囲めば拡張子も指定可能。

上記をマクロで記録してみて、コードを読んでください。

> データの取り出し方法がわからず

DIM nFile as integer
OPEN パス+ファイル名 FOR INPUT AS #nFile
のようなコマンドを書けば読めます。

ヘルプの「OPEN」でも見てください。

> Writeを使うのはCSVファイルにする方法しか分からない
Print #xxをみてください。
補足コメント
fuyu

お礼率 69% (145/210)

教えていただいた方法でやってみました。

On Error GoTo HandleError

Sheets(Output_Sheet).Select
Sheets(Output_Sheet).Copy
ActiveWorkbook.Rows("1:4").Select
ActiveWorkbook.Selection.Delete Shift:=xlUp
ActiveWorkbook.SaveAs Filename:="C:\USR\output.prn", FileFormat:= _
xlTextPrinter, CreateBackup:=False

HandleError:

現在は、一旦シートをコピーして
不必要な行(1行目~4行目)を削除してそれを保存する、
という方法にしております。

しかし、なぜかActiveWorkbook.Rows("1:4").Selectの後に、
Deleteする行(ActiveWorkbook.Selection.Delete Shift:=xlUp)から下
をとばしてプログラムの最後までいってしまいます。
コードに何か問題でもあるのでしょうか?
投稿日時 - 2001-10-05 13:56:49


  • 回答No.2
レベル11

ベストアンサー率 40% (170/415)

こんなかんじですか。 項目(A,B,..)が増えたら、そちらもFor-Nextで、変数で変えるといいです。 Cells(縦,横)で指定します。 がんばってくださいね。 '----------------------- Sub saveCells() '■ PRNファイル出力 ----- Dim iFrn As Integer Dim loFF As Long ...続きを読む
こんなかんじですか。

項目(A,B,..)が増えたら、そちらもFor-Nextで、変数で変えるといいです。
Cells(縦,横)で指定します。
がんばってくださいね。
'-----------------------

Sub saveCells()
'■ PRNファイル出力 -----

Dim iFrn As Integer
Dim loFF As Long
Dim strFname As String
Dim strA As String
Dim strB As String

'保存ファイル名(任意)
strFname = "SaveCells.prn"

'データのあるシート名を指定する
Worksheets("Sheet1").Activate

'保存ファイルを開く
iFrn = FreeFile(0)
Open strFname For Output As #iFrn

'1項目ごとに処理をする
For loFF = 2 To 5

'セルのデータを文字列でもらう
strA = Cells(loFF, 1).Value
strB = Cells(loFF, 2).Value

'ファイルに出力(半角空白区切り)
Print #iFrn, strA & " " & strB

Next loFF

Close #iFrn

MsgBox "保存終了しました" & vbCrLf & " File: " & strFname

End Sub
'----------------
では
補足コメント
fuyu

お礼率 69% (145/210)

回答ありがとうございます。

一度教えていただいた方法でやってみました。

コードは以下になります。
(実際はA5~X5以下をテキストファイルにしようとして
います。)

On Error GoTo HandleError

Dim nFrn As Integer
Dim lRowNumb As Long
Dim sFilename As String
Dim sData As String
Dim lLastRowNumb As Long
Dim nColumNumb As Integer

'最終入力ライン抽出
Worksheets(Output_Sheet).Cells(65536, 1).End(xlUp).Select
lLastRowNumb = Selection.Row

sFilename = "C:\Usr\output.prn"
Worksheets(Output_Sheet).Activate

nFrn = FreeFile(0)
Open sFilename For Output As #nFrn

For lRowNumb = 5 To lLastRowNumb
For nColumNumb = 1 To 24

sData = Cells(lRowNumb, nColumNumb).Value

Print #nFrn, sData & " "

Next nColumNumb
Next lRowNumb

Close #nFrn


HandleError:

なぜか、最終入力ラインを抽出する
Worksheets(Output_Sheet).Cells(65536, 1).End(xlUp).Select
から次の行を読まずに最後の行までとんでいってしまいます。

何かコードに問題があるのでしょうか?
投稿日時 - 2001-10-05 13:16:09
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ