過去ログ

                                Page     103
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼リストを参照させてファイルを開かせる  初心者 02/9/19(木) 10:51
   ┗Re:リストを参照させてファイルを開かせる  ななし笛の踊り 02/9/20(金) 9:59
      ┗感謝  初心者 02/9/20(金) 11:23

 ───────────────────────────────────────
 ■題名 : リストを参照させてファイルを開かせる
 ■名前 : 初心者
 ■日付 : 02/9/19(木) 10:51
 -------------------------------------------------------------------------
   はじめまして、超初心者です。

シート上のリストにある複数のエクセルファイルを開いてテキスト形式で保存したいのですが、どうすればよいでしょうか。
100以上のFILE(エクセルのデータは自動更新)を毎日繰りかえしテキスト変換しなければならないためマクロ登録したいのです。

ちなみにひとつだと以下のとおりでつくってみたんですけど。
名前も保存前と保存後をそれぞれ指定しないといけないため非常に手間がかかります
よろしくお願いします。

Sub Macro1()
' ファイルオープン
  Workbooks.Open Filename:="C:\test\test.xls", UpdateLinks:=3
' 上書きメッセージ回避
  Application.DisplayAlerts = False
  With ActiveWorkbook
    .Title = ""
    .Subject = ""
    .Author = ""
    .Keywords = ""
    .Comments = ""
  End With
' ファイル保存(テキスト出力)
  ActiveWorkbook.SaveAs Filename:="C:\test\test.txt", FileFormat:= _
    xlText, CreateBackup:=False
' ファイルクローズ
  ActiveWorkbook.Close
' Excelクローズ
  Application.Quit
End Sub
 ───────────────────────────────────────  ■題名 : Re:リストを参照させてファイルを開かせる  ■名前 : ななし笛の踊り  ■日付 : 02/9/20(金) 9:59  -------------------------------------------------------------------------
   ▼初心者 さん:

>シート上のリストにある複数のエクセルファイルを開いてテキスト形式で保存したいのですが、どうすればよいでしょうか。

>ちなみにひとつだと以下のとおりでつくってみたんですけど。
>名前も保存前と保存後をそれぞれ指定しないといけないため非常に手間がかかります

A1:A100にリストがあり、C:\Datas\1001.xls(フルパス拡張子つき)のような形式で入力されているとする。

Sub Macro1()
  Dim MyXL As String, MyWbook As Workbook, MyR As Range, MyB As Boolean
  MyB = ActiveWorkbook.Saved
  '
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  '
  For Each MyR In ActiveSheet.Range("A1:A100")
    MyXL = CStr(MyR.Value)
    If MyXL = "" Then
      '処理確認用の着色:セル空白
      MyR.Interior.ColorIndex = 6
    ElseIf Dir(MyXL) = "" Then
      '処理確認用の着色:該当ファイルなし
      MyR.Interior.ColorIndex = 3
    Else
      ' ファイルオープン
      Set MyWbook = Workbooks.Open(FileName:=MyXL, UpdateLinks:=3)
      ' ファイル保存(テキスト出力:拡張子のみ変更)
      MyWbook.SaveAs FileName:=Left(MyXL, Len(MyXL) - 4) & ".txt", _
              FileFormat:=xlText, CreateBackup:=False
      ' ファイルクローズ
      MyWbook.Close
      Set MyWbook = Nothing
    End If
  Next MyR
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  '今回の処理に関してブックの編集を無効にする
  ActiveWorkbook.Saved = MyB
  'きちんと動作しているか確認がとれてから有効にしたほうがいい
  'Excelクローズ
  'Application.Quit
End Sub
 ───────────────────────────────────────  ■題名 : 感謝  ■名前 : 初心者  ■日付 : 02/9/20(金) 11:23  -------------------------------------------------------------------------
   ありがとうございました。
助かります。

膨大な作業にうもれなくてすみます。
感謝♪
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 103