過去ログ

                                Page     444
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼エクセルデータをタブ区切りのCSV形式のテキストファイルとして出力する際に・・・  きちゅ 02/12/10(火) 11:39
   ┣追加  きちゅ 02/12/10(火) 12:04
   ┗Re:エクセルデータをタブ区切りのCSV形式のテキストファイルとして出力する際に・・・  Jaka 02/12/10(火) 12:39
      ┗Re:エクセルデータをタブ区切りのCSV形式のテキストファイルとして出力する際に・・・  きちゅ 02/12/10(火) 13:23
         ┗訂正です。すいません!  きちゅ 02/12/10(火) 13:26
            ┗Re:訂正です。すいません!  Jaka 02/12/10(火) 15:43
               ┗Re:訂正です。すいません!  きちゅ 02/12/10(火) 16:45

 ───────────────────────────────────────
 ■題名 : エクセルデータをタブ区切りのCSV形式のテキストファイルとして出力する際に・・・
 ■名前 : きちゅ
 ■日付 : 02/12/10(火) 11:39
 -------------------------------------------------------------------------
   エクセルに記されたデータを取り込み時、タブ区切りのCSV形式のテキストファイルとして出力したいです。
その際、必ず一行目に定数で「ENTRY」という文字列を入れることはできますでしょうか?
サンプルとしてマクロコードを教えてください。お願いします。
 ───────────────────────────────────────  ■題名 : 追加  ■名前 : きちゅ  ■日付 : 02/12/10(火) 12:04  -------------------------------------------------------------------------
   先ほどの一行目の定数で入れたい「ENTRY」ですが、
変更があります。
定数は「2002年度    ENTRY    承認」とタブ区切りで一行目に入れたい次第です。
お手数ですがお願いします。
 ───────────────────────────────────────  ■題名 : Re:エクセルデータをタブ区切りのCSV形式のテキストファイルとして出力する際に・・・  ■名前 : Jaka  ■日付 : 02/12/10(火) 12:39  -------------------------------------------------------------------------
   こんにちは。

>タブ区切りのCSV形式のテキストファイルとして出力したいです。
マクロ記録を試して見て下さい。

>その際、必ず一行目に定数で「ENTRY」という文字列を入れることはできますでしょうか?
主力する直前に、1行目に1行挿入して文字を入れ、出力後に挿入した行を消す。
これもマクロ記録で、できると思います。
 ───────────────────────────────────────  ■題名 : Re:エクセルデータをタブ区切りのCSV形式のテキストファイルとして出力する際に・・・  ■名前 : きちゅ  ■日付 : 02/12/10(火) 13:23  -------------------------------------------------------------------------
   Jakaさんこんにちは。

現在の状態として、データをいれたエクセルファイル(シート1)とは別シート(iシート)に
もう一つ開発用のシートがありまして、そちらにデータをコピーしてからカンマ区切りのテキストファイルを
ボタン押すことになってます。

そこで、マクロの記録により、
  Rows("1:1").Select
  Selection.Insert Shift:=xlDown
  ActiveCell.FormulaR1C1 = "挿入文字"
を下記のソースに追加すると、
開発用の(iシート)の方に、「挿入文字」という文字列が追加されてしまうことになってしまいます。
それは避けたいです。
(シート1)、(iシート)ともにデータは変えずに、テキストファイルに吐き出した時に、
「2002年度    ENTRY    承認」という文字列が一行目に追加されているということをやりたいです。
御力添えお願いします。


Public SAVE_FILE As String        '保存ファイル
Public READ_FILE As String        '読込ファイル


Sub IPシート()

  Dim Input_Name As Variant
  
  Sheets("iシート").Select
  
  SAVE_FILE = "D:\iシート.txt"
  
  '保存ファイル名取得
  Input_Name = Application.GetSaveAsFilename(SAVE_FILE, _
  fileFilter:="テキスト(タブ区切り) (*.txt),*.txt")

  'ファイル名が入力されたら、ファイル保存
  If Input_Name <> False Then
    
    SAVE_FILE = Input_Name
    
    ActiveWorkbook.SaveAs Filename:=SAVE_FILE, FileFormat:=xlText, _
      CreateBackup:=False
    
'    ActiveWorkbook.Close  'ファイルクローズ
  
  End If
  Sheets("シート1").Select
  
End Sub
 ───────────────────────────────────────  ■題名 : 訂正です。すいません!  ■名前 : きちゅ  ■日付 : 02/12/10(火) 13:26  -------------------------------------------------------------------------
   テキストファイルを
ボタン押すことになってます。

    ↓訂正

テキストファイルをボタン押すことにより、作成することになっています。
 ───────────────────────────────────────  ■題名 : Re:訂正です。すいません!  ■名前 : Jaka  ■日付 : 02/12/10(火) 15:43  -------------------------------------------------------------------------
   途中の行に挿入する方法が解らなかったんで、作りなおしにする方法にしました。
下記コードを作った後に書いて見て下さい。

Sub rtrt()
  Dim DT(), FL As String, N As Long, i As Long
  N = 1
  ReDim Preserve DT(1 To N)
  DT(N) = "挿入したい文字"

  FL = "作ったテキストファイルフルパス名" 
  Open FL For Input As #1
  Do Until EOF(1)
    N = N + 1
    ReDim Preserve DT(1 To N)
    Line Input #1, DT(N)
  Loop
  Close #1

  Open FL For Output As #1
  For i = 1 To N
    Print #1, DT(i)
  Next
  Close #1
End Sub
 ───────────────────────────────────────  ■題名 : Re:訂正です。すいません!  ■名前 : きちゅ  ■日付 : 02/12/10(火) 16:45  -------------------------------------------------------------------------
   ありがとうございます。
少し試してみます。
わからなかったら、また戻ってきます。
宜しくお願い致します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 444